Esse artigo faz parte da revista .NET Magazine edição 63. Clique aqui para ler todos os artigos desta edição

Neste artigo vamos estudar os principais controles para apresentação de dados no ASP.Net. Para o desenvolvimento de uma boa aplicação, de forma ágil e eficiente, é essencial saber como e quando utilizar cada controle. Quando visualizamos os controles de data, em toolbox, no Visual Studio, há uma série de opções, conforme Figura 1. Neste artigo conheceremos os detalhes de cada controle, como e quando utilizá-los.


Figura 1. Controles de data no Visual Studio, na janela de ToolBox

Nota do DevMan
No ASP 3.0 não existia nenhum controle nativo para apresentação de dados. Quando se desejava criar uma tabela com informações vindas do banco de dados, por exemplo, era necessário escrever uma variável que recebia o código HTML “ ”, bem como cada linha e coluna da tabela. Geralmente o código ficava bem grande, dificultando a manutenção. Até o Asp.net 1.1, o controle para apresentação de dados de informações não tinha muitos recursos e era chamado de DataGrid. O GridView, já com bem mais recursos, foi introduzido no ASP.NET 2.0, com recursos como: paginação, ordenação, tipos adicionais de coluna, entre outros.



DataBind & DataSource
Antes de fazer uma análise dos controles vamos entender um importante conceito do .NET, o DataBind e o DataSource. Um controle que permite exibição de dados de forma nativa, certamente possui opções como DataBind e DataSource. O DataSource nada mais é do que a fonte de dados para exibir as informações do controle. Esta fonte de dados pode ser um DataTable, Array, Lista genérica, coleção, entre outros. Quando uma fonte de dados é associada a um controle, é necessário utilizar o comando DataBind para que o controle seja renderizado. Para todos os controles estudados neste artigo é importante o entendimento destes dois conceitos.

Na código a seguir temos um exemplo bem simples de como utilizar o DataSource e DataBind do controle:

1 GVPesquisa.DataSource = dt

2GVPesquisa.DataBind()

Supondo que um GridView tenha sido adicionado na tela .ASPX com o ID igual a GVPesquisa, na linha 1 uma variável dt do tipo DataTable é atribuído ao DataSource do controle. Neste caso o DataTable será a fonte de dados do controle. Se deixarmos somente a linha 1, as informações não serão exibidas ao usuário pois o controle não será renderizado.

Existem alguns objetos que facilitam a integração com uma fonte de dados como o MS SQL Server, Access, ou até um XML. Estes objetos também estão na subdivisão Data, dentro do toolbox. Ao ser arrastado para a página, no modo design, cada controle possui um passo a passo para a conexão com a fonte de dados desejada. Cada controle de data pode ser interligado com estes DataSources através da propriedade DataSourceID.

Resumindo, é possível atribuir uma fonte de dados de duas formas. A primeira é através da propriedade DataSource, sendo possível atribuir uma coleção, Array, DataTable, entre outras estruturas de dados. A segunda forma é associando um controle datasource através da propriedade DataSourceID.

Nota do DevMan

Renderizar a página, ou o controle, é o processo com que o navegador apresenta a página definido no formato HTML. É o processo de juntar o HTML, com os estilos do CSS e apresentar de forma visual ao usuário. Este termo é muito utilizado em gráficos 3D, na obtenção de imagens digitais através de fórmulas matemáticas, ou de wireframes (grades), aplicando texturas, sombra, luz e outros elementos visuais.

No ASP.NET há uma etapa da construção da página chamada Render em que o .NET analisa todos os controles e converte para o código HTML. Por exemplo, a tag é renderizada para o código do HTML. O método, por exemplo, page.PreRender é executado antes da renderização da página. O DataBind permite que o controle seja renderizado com as informações vindas da fonte de dados, ou seja, é por exemplo criada uma tabela em HTML para que o navegador consiga exibir corretamente ao usuário as informações.



Gridview

O GridView certamente é um dos controles de exibição de dados mais utilizado em aplicações asp.net. Este controle permite exibir informações em forma de tabela, ou seja, com linhas em colunas. Para facilitar o desenvolvimento foram disponibilizados diversos tipos de colunas, como pode ser visto na Tabela 1.




Tabela 1. Tipos de colunas da GridView

O tipo de coluna BoundField exibe o valor de um campo do DataSource. Vamos supor que você tenha atribuído uma coleção (Collection) ao datasource do GridView e que esta coleção seja de uma lista de contatos, para exibir por exemplo o nome. A sintaxe utilizada é: Nome" readonly="true" headertext="Contato"/> ...

Quer ler esse conteúdo completo? Tenha acesso completo