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

适用于

另请参阅