Share via


ListView.DataKeys Propriété

Définition

Obtient une collection d'objets DataKey qui représentent la valeur de clé de données pour chaque élément dans un contrôle ListView.

public:
 virtual property System::Web::UI::WebControls::DataKeyArray ^ DataKeys { System::Web::UI::WebControls::DataKeyArray ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.DataKeyArray DataKeys { get; }
[<System.ComponentModel.Browsable(false)>]
member this.DataKeys : System.Web.UI.WebControls.DataKeyArray
Public Overridable ReadOnly Property DataKeys As DataKeyArray

Valeur de propriété

DataKeyArray

Un objet qui contient la clé de données pour chaque élément dans un contrôle ListView.

Attributs

Exemples

L’exemple suivant montre comment utiliser la DataKeys propriété pour déterminer les valeurs de clé de données pour les éléments d’un ListView contrôle. Il montre également comment conserver la sélection de l’utilisateur en fonction d’un élément de données au lieu du comportement par défaut qui utilise l’index.

void ContactsListView_SelectedIndexChanged(Object sender, EventArgs e)
{
  if (ContactsListView.SelectedIndex >= 0)
    ViewState["SelectedKey"] = ContactsListView.SelectedValue;
  else
    ViewState["SelectedKey"] = null;
}

void ContactsListView_DataBound(Object sender, EventArgs e)
{
  for (int i = 0; i < ContactsListView.Items.Count; i++)
  {
    // Ignore values that cannot be cast as integer.
    try
    {
        if ((int)ContactsListView.DataKeys[i].Value == (int)ViewState["SelectedKey"])
            ContactsListView.SelectedIndex = i;
    }
    catch { }
  }
}
Sub ContactsListView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
  If ContactsListView.SelectedIndex >= 0 Then
    ViewState("SelectedKey") = ContactsListView.SelectedValue
  Else
    ViewState("SelectedKey") = Nothing
  End If
End Sub

Sub ContactsListView_DataBound(ByVal sender As Object, ByVal e As EventArgs)
  For i As Integer = 0 To ContactsListView.Items.Count - 1
    ' Ignore values that cannot be cast as integer.
    Try
      If Convert.ToInt32(ContactsListView.DataKeys(i).Value) = Convert.ToInt32(ViewState("SelectedKey")) Then _
        ContactsListView.SelectedIndex = i
    Catch
    End Try
  Next
End Sub

Remarques

Lorsque la DataKeyNames propriété est définie, le ListView contrôle crée automatiquement un DataKey objet pour chaque élément du contrôle. L’objet DataKey contient les valeurs du champ ou des champs spécifiés dans la DataKeyNames propriété. Les DataKey objets sont ensuite ajoutés à la collection du DataKeys contrôle.

Utilisez la propriété pour récupérer l’objet DataKeys DataKey pour un élément de données spécifique dans le ListView contrôle.

Vous pouvez utiliser la propriété pour récupérer l’objet SelectedDataKey DataKey pour l’élément actuellement sélectionné. Vous pouvez également utiliser la SelectedValue propriété pour récupérer directement la valeur de clé de données de l’élément actuellement sélectionné.

Vous pouvez utiliser la propriété pour récupérer l’objet ListViewDataItem.DisplayIndex DataKey pour l’élément pour lequel un bouton de commande a été cliqué.

S’applique à

Voir aussi