Quando trabalhamos com fontes de dados, há disponível pelo ASP.NET alguns controles para nos auxiliar, como o GridView, o DataList, o DetailsView, FormView e o Repeater. O ASP.NET 3.5 ainda trouxe dois novos controles: ListView e o Repeater.
Os controles são basicamente divididos para exibições de vários registros: GridView, DataList, Repeater e ListView. E exibição de um registro, que é possível usando o DetailsView ou o FormView.
Neste momento vamos falar o GridView, que foi introduzido no ASP.NET 2.0 e substitui o antigo DataGrid. O GridView mostra dados de uma fonte de dados de maneira tabular, onde cada linha do GridView representa uma linha da fonte de dado. O GridView ainda possúi:
Ordenação
Atualização e exclusão
Paginação
Seleção de linha
Multiplas chaves
Multiplos campos de dados para hiperlinks
Cutomização de aparencia através de temas(themes) e estilos(styles)
Cada coluna do GridView representa um atributo do registro, no caso do DataTable, um DataColumn. Cada coluna do GridView é uma classe que descende de DataControlField, e as opções são:
Tipo de Coluna | Descrição |
BoundField | Mostra o valor de um campo como texto |
ButtonField | Mostra um botão de controle |
CheckBoxField | Mostra um CheckBox |
CommandField | Mostra um botão de comando para editar, inserir ou excluir |
HyperLinkField | Mostra um texto como hiperlink |
ImageField | Mostra uma imagem |
TemplateField | Mostra um conteúdo de acordo com um modelo(Template) do usuário |
O GridView ainda tem a propriedade AutoGenerateColumns, que se habilitadade gera automaticamente colunas para o GridView.
Mostrando Dados com o GridView
Podemos fazer bind o GridView com dados através de controles DataSources(SqlDataSource, XMLDataSource, LinqDataSource) ou com qualquer fonte de dados que implemente a interface System.Collections.IEnumerable.
Para fazer bind com controles DataSource deve-se definir a propriedade DataSourceID do GridView com o ID do controle DataSource. Este é preferível em relação ao debaixo, pois provê automaticamente ações como ordenação, atualização, exclusão e paginação.
Para fazer bind com controles que implementam a interface System.Collections.IEnumerable, deve-se através de programação definir a propriedade DataSource e chamar o método DataBind.
Customizando Interface com o Usuário
De maneira mais genérica, podemos customizar a aparência do GridView utilizando Thema e skin. O que permite uma padronização de interface da aplicação Web. Mas podemos também customizar definindo propriedades de estilo de diferentes partes do controle:
Propriedade | Descrição |
AlternatingRowStyle | Define o estilo para as linhas alternadas no controle GridView. Quando esta propriedade é definida as linhas do GridView alternam estilos entre RowStyle e AlternatingRowStyle. |
EditRowStyle | Define o estilo da linha que está sendo editada no GridView. |
EmptyDataRowStyle | Define o estilo das linhas em branco mostradas no GridView, quando a fonte de dados não tem nenhum registro. |
FooterStyle | Define o estilo para a linha rodapé do GridView. |
HeaderStyle | Define o estilo da linha cabeçalho do GridView. |
PagerStyle | Define o estilo do paginador do GridView. |
RowStyle | Define o estilo das linhas do GridView. Se a propriedade AlternatingRowStyle é definida as linhas do GridView alternam estilos entre RowStyle e AlternatingRowStyle. |
É possível também mostrar ou ocultar o cabeçalho e o rodapé do GridView utilizando respectivamente das propriedades ShowHeader e ShowFooter.