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

属性值

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 单击命令按钮的项的对象。

适用于

另请参阅