Freigeben über


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

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.

Sie können die SelectedDataKey -Eigenschaft verwenden, um das DataKey Objekt für das aktuell ausgewählte Element abzurufen. Sie können die SelectedValue -Eigenschaft auch 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, auf das eine Befehlsschaltfläche geklickt wurde.

Gilt für:

Weitere Informationen