ListView.DataKeys Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
Valore della proprietà
Oggetto contenente la chiave di dati per ogni elemento in un controllo ListView.
- Attributi
Esempio
Nell'esempio seguente viene illustrato come usare la DataKeys proprietà per determinare i valori della chiave dati per gli elementi in un ListView controllo. Mostra anche come mantenere la selezione dell'utente in base a un elemento di dati anziché al comportamento predefinito che usa l'indice.
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
Commenti
Quando la DataKeyNames proprietà è impostata, il ListView controllo crea automaticamente un DataKey oggetto per ogni elemento del controllo. L'oggetto DataKey contiene i valori del campo o dei campi specificati nella DataKeyNames proprietà. Gli DataKey oggetti vengono quindi aggiunti all'insieme del DataKeys controllo.
Utilizzare la DataKeys proprietà per recuperare l'oggetto DataKey per un elemento di dati specifico nel ListView controllo.
È possibile usare la SelectedDataKey proprietà per recuperare l'oggetto DataKey per l'elemento attualmente selezionato. È anche possibile usare la SelectedValue proprietà per recuperare direttamente il valore della chiave dati per l'elemento attualmente selezionato.
È possibile usare la ListViewDataItem.DisplayIndex proprietà per recuperare l'oggetto per l'elemento DataKey per il quale è stato fatto clic su un pulsante di comando.