Поделиться через


ListView.DataKeys Свойство

Определение

Возвращает коллекцию объектов DataKey, представляющих значение ключа данных для каждого элемента в элементе управления 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

Значение свойства

Объект, содержащий ключ данных для каждого элемента в элементе управления ListView.

Атрибуты

Примеры

В следующем примере показано, как использовать DataKeys свойство для определения значений ключа данных для элементов в элементе ListView управления . В нем также показано, как сохранить выбор пользователей на основе элемента данных, а не поведения по умолчанию, использующего индекс.

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

Комментарии

DataKeyNames Когда свойство задано, ListView элемент управления автоматически создает DataKey объект для каждого элемента в элементе управления. Объект DataKey содержит значения поля или поля, указанные в свойстве DataKeyNames . Затем DataKey объекты добавляются в коллекцию элемента управления DataKeys .

Используйте свойство , DataKeys чтобы получить DataKey объект для определенного элемента данных в элементе ListView управления .

Свойство можно использовать для SelectedDataKey получения DataKey объекта для выбранного в данный момент элемента. Свойство также можно использовать для SelectedValue получения значения ключа данных для выбранного элемента напрямую.

Свойство можно использовать для ListViewDataItem.DisplayIndex получения DataKey объекта для элемента, для которого была нажата кнопка команды.

Применяется к

См. также раздел