Share via


ListView.DataKeys Proprietà

Definizione

Ottiene un insieme di oggetti DataKey che rappresentano il valore della chiave di dati di ciascun elemento in un controllo 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

Valore della proprietà

DataKeyArray

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.

Si applica a

Vedi anche