ListView.DataKeys Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
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 объекта для элемента, для которого была нажата кнопка команды.