Datalist ItemCreated en ASP.NET et C#

L’événement ItemCreated est déclenché pour tous les éléments, y compris l’en-tête et le pied de page. L’événement est déclenché pour ces événements même si vous n’avez pas créé de modèles pour ceux-ci, afin de prévoir une éventuelle création dynamique de ces éléments. Pour plus d’informations sur la création dynamique de modèles, consultez Création dynamique de modèles dans un contrôle serveur Web DataList.
Pour personnaliser les éléments au moment de l’exécution à l’aide de l’événement ItemCreated
1. Créez un gestionnaire d’événements pour l’événement ItemCreated du contrôle DataList. Pour plus d’informations, consultez Création de gestionnaires d’événements dans les pages Web Forms.
2. Dans le gestionnaire d’événements, recherchez l’élément actif à l’aide de l’objet Item de l’objet événement-argument. Vous pouvez obtenir l’index de l’élément actif via la propriété ItemIndex de l’objet Item, et son type via sa propriété ItemType (définie à l’aide de l’énumération ListItemType).
Remarque La propriété ItemIndex ne retourne une valeur positive que pour les objets Item, AlternatingItem et SelectedItem. La valeur d’index des éléments d’en-tête, de pied de page et des séparateurs est -1.
L’exemple suivant montre comment modifier conditionnellement la couleur d’arrière-plan d’un élément. L’exemple utilise la propriété ItemType et l’énumération ListItemType pour définir les couleurs d’arrière-plan des éléments. Les valeurs LightGoldenrodYellow, DarkGoldenRod et Yellow sont respectivement définies pour les éléments, les éléments de remplacement et les éléments sélectionnés.
/ C#
private void DataList1_ItemCreated(object sender,
System.Web.UI.WebControls.DataListItemEventArgs e)
{
switch (e.Item.ItemType)
{
case System.Web.UI.WebControls.ListItemType.Item :
e.Item.BackColor = Color.LightGoldenrodYellow;
break;
case System.Web.UI.WebControls.ListItemType.AlternatingItem :
e.Item.BackColor = Color.DarkGoldenrod;
break;
case System.Web.UI.WebControls.ListItemType.SelectedItem :
e.Item.BackColor = Color.Yellow;
break;
default :
// Add code here to handle the header, footer, and
// separator templates.
break;
}
}
Au moment où l’événement ItemCreated est déclenché, les différents contrôles figurant dans les modèles n’ont pas encore été liés aux données. Toutefois, les données sont disponibles dans l’événement ItemDataBound.

Source Microsoft
pour en savoir plus
Aide Microsoft