Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
I controlli mobili ASP.NET List e SelectionList eseguono il rendering di una visualizzazione di base di dati e consentono agli utenti di selezionare elementi di dati.
È possibile associare un controllo mobile List o SelectionList a un oggetto DataView o DataSet oppure a qualsiasi oggetto che implementa IEnumerable o IListSource. Per associare un controllo mobile List o SelectionList a un oggetto DataView, impostare la proprietà DataSource del controllo e chiamare il metodo DataBind. Nell'esempio di codice riportato di seguito viene dimostrato come associare un controllo a un oggetto DataSet contenente una tabella denominata Titles.
myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind();
In alternativa, è possibile associare un controllo List o SelectionList a un oggetto DataSet. A tale scopo, impostare la proprietà DataMember sul nome della tabella. L'esempio che segue equivale a quello precedente.
myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind();
Un elemento di elenco in un controllo List o SelectionList può essere associato a due valori di dati. Un valore di dati viene associato alla proprietà Text dell'elemento di elenco e l'altro viene associato alla relativa proprietà Value. Per configurare l'associazione per gli elementi di elenco, impostare le proprietà DataTextField (SelectionList.DataTextField) e DataValueField (SelectionList.DataValueField) del controllo List o SelectionList. Il controllo List visualizza ciascun elemento utilizzando la proprietà Text. Se ad esempio si desidera visualizzare ogni elemento in base alla relativa proprietà CustomerName, impostare la proprietà DataTextField su CustomerName.
È possibile visualizzare ogni elemento come un riepilogo costituito da diversi valori di dati. A tale scopo, è possibile gestire l'evento ItemDataBind del controllo List o l'evento ItemDataBind del controllo SelectionList e impostare la proprietà Text a livello di codice. Nell'esempio di codice riportato di seguito viene illustrato come eseguire il rendering delle informazioni su un libro come combinazione di titolo e prezzo.
private void List_OnItemDataBind(object sender,
ListDataBindEventArgs e)
{
e.ListItem.Text = String.Format ("{0} – {1}",
DataBinder.Eval (e.DataItem, "title"),
DataBinder.Eval (e.DataItem, "price", "{0:C}"));
}
Sui dispositivi in cui è supportato il rendering avanzato è possibile utilizzare un insieme di modelli per il controllo List per mostrare una visualizzazione personalizzata di un elemento di dati. Nella modalità basata su modelli il controllo List funziona come il controllo server ASP.NET Repeater. È possibile, ad esempio, utilizzare il modello di elementi che segue per mostrare una visualizzazione dettagliata di un libro.
<ItemTemplate>
<tr style="background-color:FFECD8">
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
"title") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
"title_id") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
"type") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
"pub_id") %>
</td>
<td>
<%# DataBinder.Eval(((MobileListItem)Container).DataItem, _
"price", "{0}", "{0:C}") %>
</td>
</tr>
</ ItemTemplate >
Per ulteriori informazioni sugli insiemi di modelli, vedere Insiemi di modelli e controlli basati su modelli.