Como listar dados no GridView C#

Compartilhar é se importar!

Quando estamos trabalhando no desenvolvimento de softwares, seja com persistência de dados em banco, ou com listas temporárias, temos a necessidade de listar dados para nossos usuários finais. Uma das formas de fazer isso, é o uso de do componente GridView. Isso é muito comum, e é possível que você esteja precisando disso neste momento que está lendo a postagem, então sim, vamos aprender Como listar dados no GridView C#.

Para nosso exemplo, vamos criar um projeto simples em ASP.Net, do tipo WebForms Applications, como mostrado a seguir. Nomeie como desejar.

Após a criação do projeto, o primeiro passo a fazer, é realizar uma conexão com o banco de dados, e para isso, vamos acrescentar ao arquivo Web.Config do projeto, uma linha responsável por manter a string de conexão com o banco. Neste projeto, estou usando como base o banco de dados SQL Server, assim, sua script de conexão segue o padrão mostrado abaixo

Parâmetros

  • Data Source, caminho do servidor para conexão;
  • Initial Catalog, nome do banco de dados que será utilizado para conexão;
  • User ID, usuário utilizado para se conectar ao banco, e por fim;
  • Password, a senha de conexão.

Com estes dados, já será possível realizar a conexão com o SQL Server. Então, inclua no Web.Config do projeto o código mostrado a seguir:

Já com a conexão definida para o projeto, vamos ao banco de dados, criar uma tabela simples de Clientes, para que possamos consultá-la e assim, exibir os dados em nosso GridView. Vejamos.

Execute o seguinte comando de criação da tabela em seu banco de dados.

Com a tabela criada, vamos inserir alguns registros. Utilize o script de inserção de dados como exemplo.

Agora que temos uma conexão definida com o banco, já criamos um tabela e também já povoamos alguns dados, podemos então retomar estes dados e mostrá-los para o usuário.

Caso já não tenha criado, no momento de criação do projeto no Visual Studio, crie uma página Default.aspx, por exemplo, e vamos inserir nela um componente <asp:GridView>, que será o responsável (como já dito) por mostrar os dados ao usuário.

Alguns detalhes podem ser adicionados ao GridView para melhor exibição dos dados, mas isso, vamos deixar para uma próxima oportunidade, por enquanto, vamos nos concentrar em aprender como mostrar os dados, que é o mais importante neste caso de hoje.

GridView adicionado à página, ficará mais ou menos como mostrado a seguir. Veja:

Temos duas formas de exibir os dados em nosso GridView. A primeira, é realizando um consulta no banco, por meio de um script em C#, e posteriormente, vinculando os dados retornados ao GridView, e uma segunda maneira, é utilizarmos um segundo componente para conexão, e vincularmos nosso GridView a ele, de forma dinâmica.

Neste tutorial de hoje, vou mostrar as duas formas. Então, vejamos.

A primeira, e mais simples, porém não muito utilizada, pelo fato de possuirmos menos controle sobre os dados, visto que estes estão diretamente ligados oa GridView, é vincular o GridViewdiretamente ao componente que fará a conexão com o banco, que neste caso é o SqlDataSource.

Adicione um componente SqlDataSource em sua página, no meu caso, vou adicionar na Default.aspx. Em modo Design, clique na opção oculta (seta ao lado do componente) e selecione a opção Configure Data Source…. Nesta ação, será aberta a janela de configuração, onde vamos informar a StringConnetion criada no arquivo Web.Config.

No combo Which data connection … database?, selecione a StringConnection criada, no meu caso, DefaultConnection, e clique em Next.

No passo seguinte, marque (caso não esteja marcado) a opção Specify columns from a table or view, e em Name, selecione a tabela que criamos (Cliente), deixe marcado a opção *, na seção Columns e clique em Next novamente, e Finish.

Agora já temos uma conexão ativa com o banco de dados, vamos então vincular o GridView ao nosso SqlDataSource configurado. Semelhante à configuração do SqlDataSource, clique na opção oculta do GridView, como mostrado abaixo, e selecione na opção Choose Data Source, o componente SqlDataSource, provavelmente com nome de SqlDataSource1.

Ao fazer isso, o GridView já vai mostrar uma prévia das colunas existentes na tabela, basta executar o projeto no browser que serão mostrados os quatro registros que inserimos.

Como dito, existe outra forma de fazer essa listagem de dados. Agora vamos fazer isso, diretamente pelo código fonte, ou seja, criaremos um objeto para listar os dados e iremos vincular o GridViewdinamicamente.

Esse método é bom, quando temos a necessidade de manipular alguns dados, ou mesmo, quando estes devem ser mostrados dinâmicamente. O primeiro passa a fazer, será o mesmo listado anteriormente, inserir um GridView na página, porém, não fazermos vinculo ao SqlDataSource. Na verdade, nem precisaremos dele neste caso, então, para não ter erro, exclua os componentes (GridView e SqlDataSource) inseridos anteriormente, ou se preferir, insira um novo GridView na tela.

O segundo passo, vamos uma classe chamada Cliente, e um método para consulta dos dados chamado ListaCliente.

Crie a seguinte classe no seu projeto:

Agora, crie uma variável pública em seu arquivo, chamada connectionString. Ela será responsável por nos retornar (do Web.Config) a string de conexão existente,no meu caso, a DefaultConnection.

Crie também o método de consulta, ListaCliente(), segundo o script abaixo:

Observe que o método criado, utiliza outro método interno, o PovoarLisCliente(). O que estamos fazendo neste caso, é manter nosso método com apenas um nível de abstração, então, certos processamentos, serão executados dentro deste novo método. Crie o método de acordo com o script abaixo:

Novamente, temos a mesma situação, o método PovoarLisCliente(), utiliza outro método para povoamento dos dados da entidade, RetornaDados(). Este métod tem apenas a função de pegar os dados do banco e fazer a correta conversão para os tipos de dados do nosso objeto Cliente. Assim, utilize o script abaixo para criação do método RetornaDados():

Você pode colocar todos os scripts dentro de um único método, porém, assim ele ficará mais organizado, pois cada método tem uma função em particular.

Agora que já temos nosso objeto Cliente e os métodos que serão necessários, vamos enfim povoar o GridView na tela. O primeiro passo agora será chamar o método ListaCliente() e povoar os dados retornados por ele, em uma lista de objetos do tipo Cliente.

Feito isso, nossa lista de Clientes estará povoada, agora basta vinculá-la ao GridView, da seguinte maneira:

Neste ponto, você já pode (caso o GridView esteja marcado para gerar as colunas automaticamente) executar, que os dados já serão exibidos, porém, caso deseje melhorar a exibição dos dados, pode adicionar as colunas previamente ao GridView, de forma a serem formatadas conforme deseja. Veja como ficaria o código do GridView neste caso:

Veja como ficarão os dados ao exibí-los no browser.



Leave a Reply

Your email address will not be published. Required fields are marked *