Freigeben über


ListView.DataKeys Eigenschaft

Definition

Ruft eine Auflistung von DataKey Objekten ab, die den Datenschlüsselwert für jedes Element in einem ListView Steuerelement darstellen.

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

Eigenschaftswert

Ein Objekt, das den Datenschlüssel für jedes Element in einem ListView Steuerelement enthält.

Attribute

Beispiele

Das folgende Beispiel zeigt, wie sie die DataKeys Eigenschaft verwenden, um die Datenschlüsselwerte für die Elemente in einem ListView Steuerelement zu bestimmen. Außerdem wird gezeigt, wie die Benutzerauswahl basierend auf einem Datenelement anstelle des Standardverhaltens beibehalten wird, das den Index verwendet.

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

Hinweise

Wenn die DataKeyNames Eigenschaft festgelegt wird, erstellt das ListView Steuerelement automatisch ein DataKey Objekt für jedes Element im Steuerelement. Das DataKey Objekt enthält die Werte des Felds oder der Felder, die in der DataKeyNames Eigenschaft angegeben sind. Die DataKey Objekte werden dann der Auflistung des Steuerelements DataKeys hinzugefügt.

Verwenden Sie die DataKeys Eigenschaft, um das DataKey Objekt für ein bestimmtes Datenelement im ListView Steuerelement abzurufen.

Mit der SelectedDataKey Eigenschaft können Sie das DataKey Objekt für das aktuell ausgewählte Element abrufen. Sie können die SelectedValue Eigenschaft auch verwenden, um den Datenschlüsselwert für das aktuell ausgewählte Element direkt abzurufen.

Mit der ListViewDataItem.DisplayIndex Eigenschaft können Sie das DataKey Objekt für das Element abrufen, für das auf eine Befehlsschaltfläche geklickt wurde.

Gilt für:

Weitere Informationen