ListView.DataKeys Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
Valor de propiedad
Objeto que contiene los datos de clave para cada elemento de un control ListView.
- Atributos
Ejemplos
En el ejemplo siguiente se muestra cómo usar la DataKeys propiedad para determinar los valores de clave de datos de los elementos de un ListView control . También se muestra cómo conservar la selección del usuario en función de un elemento de datos en lugar del comportamiento predeterminado que usa el índice.
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
Comentarios
Cuando se establece la DataKeyNames propiedad , el ListView control crea automáticamente un DataKey objeto para cada elemento del control . El DataKey objeto contiene los valores del campo o campos especificados en la DataKeyNames propiedad . A DataKey continuación, los objetos se agregan a la colección del DataKeys control.
Utilice la DataKeys propiedad para recuperar el DataKey objeto de un elemento de datos específico en el ListView control .
Puede usar la SelectedDataKey propiedad para recuperar el DataKey objeto del elemento seleccionado actualmente. También puede usar la SelectedValue propiedad para recuperar el valor de clave de datos del elemento seleccionado actualmente directamente.
Puede usar la ListViewDataItem.DisplayIndex propiedad para recuperar el DataKey objeto del elemento para el que se hizo clic en un botón de comando.