Desenvolvimento - ASP. NET
ASP.NET - Como agrupar registros em um DataGrid
Nesse artigo explicarei como podemos transformar esse controle em um controle ainda mais poderoso, fazendo com que os registros fiquem agrupados de acordo com suas respectivas categorias.
por Thiago J. MônacoPraticamente todas as aplicações web que são desenvolvidas utilizam o
controle DataGrid para exibir dados de diversos tipos. Nesse artigo explicarei como podemos transformar esse controle em um controle ainda mais poderoso, fazendo com que os registros fiquem agrupados de acordo com suas respectivas categorias. Para essa demonstração utilizaremos as tabelas Categories e Products da base de dados Northwind. Em um WebForm qualquer, arraste um controle DataGrid da Toolbox e renomeie para dgProdutos. Agora estamos prontos para codificar nosso WebForm. No início do CodeBehind importaremos o namespace System.Data.SqlClient afim de facilitar nossa codificação. |
Imports System.Data.SqlClient |
Também iremos declarar uma variável que irá nos auxiliar em nossa codificação. Essa declaração deverá ser realizada logo após a declaração da classe. |
Private _intIDCategoria As Integer |
A variável _intIDCategoria será utilizada para armazenar o
ID da Categoria que estaremos manipulando, afim de descobrirmos o momento em que
necessitamos agrupar os registros. Agora iremos criar um método para preenchimento de nosso DataGrid. |
Private Sub CarregarGrid()
|
Agora colocaremos a chamada para este método no evento Load de nosso WebForm. |
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load If Not Page.IsPostBack Then CarregarGrid() End If End Sub |
Compilaremos então nosso projeto e visualizaremos nosso WebForm para verificarmos como ele está ficando. Ele estará com uma aparência semelhante a da Figura 1. |
Figura 1. DataGrid sem tratamento de categorias. |
Iniciaremos agora o grande motivo de nosso artigo. O tratamento na exibição do DataGrid para que possamos agrupar os registros de acordo com sua Categoria. Para que isso seja possível realizaremos o seguinte tratamento no evento ItemCreate de nosso WebForm. |
Private Sub dgProdutos_ItemCreated(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs) Handles
dgProdutos.ItemCreated |
Após isso, compilaremos nosso projeto novamente e visualizaremos nosso WebForm. Dessa vez, ele estará com uma aparência semelhante a da Figura 2: |
Figura 2: DataGrid com o tratamento de Categorias. |
Assimatingimos nosso objetivo inicial que era agrupar registros em um
DataGrid . Espero que tenham gostado e que o artigo possa ser útil. |