Truco de ASP.NET - Dar formato a un datagrid en el ItemDataBound
Para poder formatear una grid mientras se carga accedemos con el ItemDataBound.
Lo primero que realizaremos es añadir un handles cuando el grid se haya cargado:
AddHandler NombreGrid.Grid.ItemDataBound, AddressOf ItemDataBound
Crearemos una función:
Private Sub ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
End Sub
Dentro de la función, para acceder a cada celda podremos utilizar el
e.Item.Cells(NumeroDeCelda).Text= "Lo que queramos"
Como ejemplos que podemos formatar:
e.item.Cells(0).Text = strImg.ToString
e.item.Cells(0).HorizontalAlign = HorizontalAlign.Center
e.item.Cells(0).VerticalAlign = VerticalAlign.Top
e.item.Cells(0).Width = Unit.Pixel(30)
e.item.Cells(0).visible=False
Podemos utilizar el with para no tener que escribir todo el rato e.item:
With e.Item
.Cells(0).Text = strImg.ToString
.Cells(0).HorizontalAlign = HorizontalAlign.Center
.Cells(0).VerticalAlign = VerticalAlign.Top
.Cells(0).Width = Unit.Pixel(30)
.Cells(0).visible=False
End with
Para acabar, hay que comentar que una fila de un grid puede ser de la cabecera o no.
Si es cabecera:
If e.Item.ItemType = ListItemType.Header Then
Si es un elemento normal:
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
Pon el truco en tus favoritos