quarta-feira, 2 de outubro de 2013

Populando GridView - C#

Para quem esta iniciando este artigo é muito valido, o controle GridView , quem nunca precisou retirar informações de um banco de dados e mostrar em forma de tabela no website? Vou mostrar como popular este controle conectando ao banco de dados Access (porém alterando a string de conexão você poderá conectar a outro tipo de banco como SQL Server / MySQL entre outros).


Antes de continuar é interessante que já tenha lido o Artigo Conectando ao Banco com 3 Camadas.

Vou disponibilizar o Source do projeto logo abaixo, primeiro passo adicione um GridView em sua aplicação, o mesmo esta disponível na aba Toolbox > Data > GridView, segure e arraste em sua pagina.

Vamos alterar algumas propriedades de seu GridView:
ID = gwPopulando
AutoGenerateColumns = False

E adicione algumas colunas, este passo poderá ser feito na mão atravez do código HTML ou clique em Columns no menu propriedades e adicione selecionando a opção BoundField, adicionando 2 campos o DataField (informação idêntica a retornada do banco de dados) e HeaderText (informação que será exibida no Grid), veja abaixo o nosso código como irá ficar:

Obs. Foi adicionado um tema, na visão design clique no grid, irá aparecer uma pequena seta, clique nesta seta e em AutoFormat.

Default.aspx
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Panel ID="Panel1" runat="server" Width="600px" Height="500px">
            <asp:Label ID="Label1" runat="server" Text="Grid View - Populando com Conexão"
                Font-Bold="True" Font-Names="Batang" ForeColor="#0000CC"></asp:Label>
            <br />
            <br />
            <br />
            <asp:GridView ID="gwPopulando" runat="server" AutoGenerateColumns="False"
                CellPadding="4" ForeColor="#333333" GridLines="None">
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <RowStyle BackColor="#EFF3FB" />
                <Columns>
                    <asp:BoundField DataField="NomeUsuario" HeaderText="Nome" />
                    <asp:BoundField DataField="SobrenomeUsuario" HeaderText="Sobrenome" />
                    <asp:BoundField DataField="SitePessoal" HeaderText="Site" />
                </Columns>
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <EditRowStyle BackColor="#2461BF" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>
            <br />
            <asp:Button ID="btnPreencher" runat="server" onclick="btnPreencher_Click"
                Text="Preencher Grid" Width="224px" />
        </asp:Panel>
    </div>
    </form>
</body>
</html>

Agora vamos popular o Grid no evento clique do botão, segue código comentado abaixo:

Default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
// Referenciando a Camada de Negocio
using Web.BLL;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnPreencher_Click(object sender, EventArgs e)
    {
        // Instancia a Camada de Negocio
        CamadaLogicaNegocio cln = new CamadaLogicaNegocio();
        // Obtem a informação para o Grid, vindo do banco de dados
        gwPopulando.DataSource = cln.ObtemUsuarios();
        // Populando o Grid.
        gwPopulando.DataBind();
    }
}

Pronto, concluirmos a população do GridView, e nos próximos artigos irei mostrar como percorrer as linhas do grid.
C# - ASP .NET 3.5 - VS 2008



Para baixar a solução apresentada neste artigo, utilize as opções abaixo:

0 comentários:

Postar um comentário