Desenvolvimento - C#
Preenchendo GridView com dados de um objeto de negócio
Vamos mostrar nesse artigo como podemos consumir um objeto de negócio pelo GridView.
por Bruno Peres Orcajo
Microsoft Visual Studio 2005
SQLServer 2005
GridView:
O GridView é uma versão de controle do ASP.NET 2.0, uma evolução do DataGrid da versão 1.x.
Dentre as várias vantagens deste novo componete, temos a grande agilidade no desenvolvimento. Vamos mostrar nesse artigo como podemos consumir um objeto de negócio pelo GridView.
Crie um website no Visual Studio 2005, aqui chamei de ArtigoGridView.
Crie agora no seu projeto uma nova Classe chamada Clientes.
O banco de dados foi criado usando SQLServer 2005, contendo 2 tabelas, Estado e Clientes para utilizarmos em nosso artigo.
Esta classe será nossa classe de negócio, vamos abordar um exemplo simples para exibir a funcionalidade.
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; /// <summary> /// Summary description for Clientes /// </summary> public class Clientes { public Clientes() { // // TODO: Add constructor logic here // } public System.Data.DataSet RetornaClientes(int id_estado) { System.Data.SqlClient.SqlConnection cnx = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString()); System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(" SELECT * FROM CLIENTE WHERE ID_ESTADO = " + id_estado, cnx); System.Data.SqlClient.SqlDataAdapter dat_cliente = new System.Data.SqlClient.SqlDataAdapter(command); System.Data.DataSet ds = new DataSet(); dat_cliente.Fill(ds); return ds; } }
OBS: Lembrando que no web.config deve conter sua string de conexao, conforme setado acima.
Vamos exemplificar somente com um método chamado RetornaClientes que retorna um DataSet de acordo com o parametro passado, neste caso o id do estado ( id_estado ) Vamos agora colocar um DropDownList na nossa página Default.aspx
O DataSource do DropDow é a base de dados, tabela de Estado, onde vamos usar para filtrar o grid de acordo com a opção escolhida.
Note que a descrição e id do estado são configurados nas propriedades do dataSource.
Cheque a opção de AutoPostBack para fazer a busca e acionar o método a cada mudança de valor da combo.
Agora vem nossa mágica, vamos arrastar para a tela um GridView e vamos configurar a propriedade de DataSource> SourceType, repare que temos várias possibilidades de trazer dados para preencher o grid. Vamos escolher Object, no caso, o nosso objeto de negócio:
Na tela seguinte ele nos mostra nossa classe, no caso só tenho a classe Clientes.
Na tela seguinte, ele pergunta da nossa classe escolhida qual métodos gostariamos de utilizar. Como no grid só vamos usar o select só preenchemos a primeira aba, contudo note que poderiamos apontar métodos de update, insert e delete...
Na ultima tela de configuração ele pergunta o local que está nosso parâmetro para fazer o select no método que escolhemos na tela anterior, então no nosso caso está em um control que é nosso DropDownList1, localizado na Default.aspx. Configuramos então a propriedade setando este controle:
Rode seu aplicativo. Perceba que ao trocar o valor do combo, o grid é atualizado automaticamente. Este foi apenas um exemplo de Source do Grid, lembrando que foram desconsiderados meios de trabalho desconectado e hierarquia de camadas.