Dar formato a un datagrid en el ItemDataBound


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



Más trucos de Trucos de asp.net

Trucos más leídos