Partager via


Comment : permettre aux utilisateurs de sélectionner des éléments dans des contrôles serveur Web DataList

Mise à jour : novembre 2007

Vous pouvez permettre aux utilisateurs de sélectionner des éléments individuels dans le contrôle serveur Web DataList. En règle générale, la sélection d'un élément met celui-ci en surbrillance. En outre, vous avez la possibilité d'afficher des informations supplémentaires pour un élément sélectionné.

Pour permettre aux utilisateurs de sélectionner des éléments dans un contrôle DataList

  1. Créez un SelectedItemTemplate pour définir la disposition du balisage et des contrôles pour un élément sélectionné. Pour plus d'informations, consultez Modèles de contrôles serveur Web ASP.NET.

  2. Définissez les propriétés SelectedItemStyle du contrôle. Pour plus d'informations, consultez Contrôles serveur Web ASP.NET et styles CSS.

  3. Dans le ItemTemplate (et AlternatingItemTemplate, si vous l'utilisez), ajoutez un contrôle serveur Web Button ou LinkButton.

  4. Affectez à la propriété CommandName du bouton de l'étape 3 la valeur select (la casse doit être respectée).

  5. Créez un gestionnaire d'événements pour l'événement SelectedIndexChanged du contrôle DataList. Dans le gestionnaire d'événements, appelez la méthode DataBind du contrôle pour actualiser les informations qu'il contient. Le code complet peut ressembler à ceci :

    Protected Sub DataList1_SelectedIndexChanged(ByVal sender As _
            System.Object, ByVal e As System.EventArgs) _
            Handles DataList1.SelectedIndexChanged
       DataList1.DataBind()
    End Sub
    
    protected void DataList1_SelectedIndexChanged (object sender, 
        System.EventArgs e)
    {
       DataList1.DataBind();
    }
    

Pour annuler la sélection, affectez la valeur -1 à la propriété SelectedIndex du contrôle. Pour cela, vous pourriez ajouter un contrôle serveur Web Button au modèle SelectedItem et affecter la valeur "unselect" à sa propriété CommandName. L'événement Click pour ce bouton est également transféré à l'événement ItemCommand du contrôle DataGrid.

Le code complet peut ressembler à ceci :

Protected Sub DataList1_ItemCommand(ByVal source As Object, _
        ByVal e As DataListCommandEventArgs) _
        Handles DataList1.ItemCommand
   If e.CommandName = "unselect" Then
      DataList1.SelectedIndex = -1
   End If
   DataList1.DataBind()
End Sub

Voir aussi

Référence

Vue d'ensemble du contrôle serveur Web DataList