Udostępnij za pośrednictwem


ListView.DataKeys Właściwość

Definicja

Pobiera kolekcję DataKey obiektów reprezentujących wartość klucza danych dla każdego elementu w kontrolce 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

Wartość właściwości

Obiekt zawierający klucz danych dla każdego elementu w kontrolce ListView .

Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak za pomocą DataKeys właściwości określić wartości klucza danych dla elementów w kontrolce ListView . Pokazano również, jak zachować wybór użytkownika na podstawie elementu danych zamiast domyślnego zachowania, które używa indeksu.

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

Uwagi

Po ustawieniu DataKeyNames właściwości kontrolka ListView automatycznie tworzy DataKey obiekt dla każdego elementu w kontrolce. Obiekt DataKey zawiera wartości pola lub pól określonych we DataKeyNames właściwości . Obiekty DataKey są następnie dodawane do kolekcji kontrolki DataKeys .

DataKeys Użyj właściwości , aby pobrać DataKey obiekt dla określonego elementu danych w kontrolceListView.

Możesz użyć SelectedDataKey właściwości , aby pobrać DataKey obiekt dla aktualnie wybranego elementu. Możesz również użyć SelectedValue właściwości , aby pobrać wartość klucza danych dla aktualnie wybranego elementu bezpośrednio.

Możesz użyć ListViewDataItem.DisplayIndex właściwości , aby pobrać DataKey obiekt dla elementu, dla którego kliknięno przycisk polecenia.

Dotyczy

Zobacz też