Partager via


Comment : personnaliser de manière dynamique des éléments dans le contrôle serveur Web DataList

Mise à jour : novembre 2007

Vous pouvez personnaliser dynamiquement des éléments du contrôle DataList, ce qui est utile lorsque vous souhaitez définir des caractéristiques d'élément selon les informations disponibles au moment de l'exécution. Cette rubrique contient deux exemples qui montrent comment personnaliser les éléments d'un contrôle DataList.

Le premier exemple de code montre comment personnaliser un élément individuel sans l'aide de données. L'exemple affiche différents types de modèles avec différentes couleurs d'arrière-plan.

Le second exemple de code décrit la personnalisation du contenu d'un élément du contrôle DataList en fonction des données qui y sont affichées. Le code examine le contenu d'une étiquette liée aux données dans l'élément pour extraire une date (date de naissance). Si le mois de naissance est identique au mois en cours, l'élément est affiché avec une couleur de surbrillance.

Exemple

' 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

Compilation du code

Ces exemples nécessitent :

Programmation fiable

La méthode la plus fiable d'extraction de la valeur d'un contrôle dans un modèle de contrôle DataList comprend les deux étapes ci-dessous :

  1. Assigner un ID au contrôle au moment du design.

  2. Utiliser la méthode FindControl du conteneur de dénomination (naming container) ; dans cet exemple, il s'agit d'un objet DataListItem.

La méthode FindControl retourne un objet de type Control. Vous devez effectuer un cast de cet objet en type de contrôle approprié. Si aucun objet n'est trouvé et si vous essayez d'extraire sa valeur, le contrôle lève une exception de type NullReferenceException.

Voir aussi

Tâches

Comment : personnaliser des éléments DataList au moment de l'exécution

Concepts

Identification d'un contrôle Web Forms