Share via


ListView.DataKeys Eigenschaft

Definition

Ruft eine Auflistung von DataKey-Objekten ab, die den Datenschlüsselwert für die einzelnen Elemente 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

DataKeyArray

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

Attribute

Beispiele

Im folgenden Beispiel wird gezeigt, 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 beibehalten wird, anstatt das Standardverhalten, 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 Eigenschaft festgelegt wird, erstellt das DataKeyNames 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 DataKeys Steuerelements hinzugefügt.

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

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

Sie können die ListViewDataItem.DisplayIndex Eigenschaft verwenden, um das Objekt für das DataKey Element abzurufen, für das auf eine Befehlsschaltfläche geklickt wurde.

Gilt für

Siehe auch