Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Puede personalizar elementos en el control DataList dinámicamente, lo que resulta útil cuando desea establecer características de elementos basándose en la información disponible en tiempo de ejecución. Este tema contiene dos ejemplos que muestran cómo personalizar los elementos de un control DataList.
En el primer ejemplo de código se muestra cómo personalizar un elemento individual cuando en el proceso no se ven involucrados datos. Se ofrecen diferentes tipos de plantillas con diferentes colores de fondo.
En el segundo ejemplo de código se explica cómo personalizar el contenido de un elemento de control DataList a partir de los datos que muestra. El código examina el contenido de una etiqueta enlazada a datos en el elemento para extraer una fecha (fecha de nacimiento). Si el mes de la fecha de nacimiento coincide con el mes actual, se resaltará el elemento mediante un color.
Ejemplo
' Example 1
Private Sub DataList1_ItemCreated(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
Handles DataList1.ItemCreated
Select Case e.Item.ItemType
Case ListItemType.Item
e.Item.BackColor = Color.LightGoldenrodYellow
Case ListItemType.AlternatingItem
e.Item.BackColor = Color.DarkGoldenrod
Case ListItemType.SelectedItem
e.Item.BackColor = Color.Yellow
Case Else
' Add code here to handle the header, footer, and
' separator templates.
End Select
End Sub
' Example 2
Private Sub DataList1_ItemDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
Handles DataList1.ItemDataBound
Dim dob As DateTime
Dim doblabel As Label
doblabel = CType(e.Item.FindControl("Label1"), Label)
dob = CType(doblabel.Text, DateTime)
If dob.Month = Today.Month Then
e.Item.BackColor = Color.Yellow
End If
End Sub
Compilar el código
Estos ejemplos necesitan:
Un control DataList denominado DataList1, enlazado a la tabla Employees de la base de datos Northwind. Para obtener información sobre cómo enlazar un control DataList a un origen de datos, vea Cómo: Agregar controles DataList de servidor web a una página web ASP.NET.
Una plantilla de elemento que contenga al menos un control Label denominado Label1. Esta etiqueta debe estar enlazada al campo BirthDate de la tabla Employees. Para obtener información sobre cómo enlazar controles a campos, vea Información general sobre las expresiones de enlace de datos.
Programación eficaz
El modo más eficaz de extraer el valor de un control en una plantilla de control DataList es el siguiente:
Asigne un identificador al control en tiempo de diseño.
Utilice el método FindControl del contenedor de nomenclatura (en este ejemplo, un objeto DataListItem).
El método FindControl devuelve un objeto de tipo Control. Debe convertir este objeto al tipo de control adecuado. Si no se encuentra ningún objeto e intenta extraer su valor, el control iniciará una excepción de tipo NullReferenceException.
Vea también
Tareas
Cómo: Personalizar elementos DataList en tiempo de ejecución