Datenbindung für ein List-Steuerelement oder ein SelectionList-Steuerelement
Aktualisiert: November 2007
Das List-ASP.NET Mobile-Steuerelement und das SelectionList-ASP.NET Mobile-Steuerelement geben eine Basisansicht von Daten wieder und ermöglichen es Benutzern, Datenelemente auszuwählen.
Sie können ein mobiles List-Steuerelement oder ein mobiles SelectionListSteuerelement an ein DataView-Objekt oder an ein DataSet-Objekt bzw. an jedes Objekt binden, das IEnumerable oder IListSource implementiert. Um ein mobiles List-Steuerelement oder ein mobiles SelectionList-Steuerelement an ein DataView-Objekt zu binden, legen Sie die DataSource-Eigenschaft des Steuerelements fest und rufen dessen DataBind-Methode auf. Das folgende Codebeispiel zeigt, wie ein Steuerelement an ein DataSet-Objekt gebunden wird, das die Tabelle Titles enthält.
myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind();
Alternativ können Sie ein List-Steuerelement oder ein SelectionList-Steuerelement an ein DataSet-Objekt binden. Legen Sie dazu die DataMember-Eigenschaft auf den Namen der Tabelle fest. Das folgende Beispiel entspricht dem vorhergehenden.
myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind();
Ein Listenelement in einem List-Steuerelement oder einem SelectionList-Steuerelement kann an zwei Datenwerte gebunden werden. Ein Datenwert wird an die Text-Eigenschaft des Listenelements gebunden, der andere Datenwert wird an die Value-Eigenschaft gebunden. Sie konfigurieren die Bindung für Listenelemente, indem Sie die DataTextField-Eigenschaft (SelectionList.DataTextField) und die DataValueField-Eigenschaft (SelectionList.DataValueField) des List-Steuerelements oder des SelectionList-Steuerelements festlegen. Das List-Steuerelement zeigt jedes Element mithilfe der Text-Eigenschaft an. Wenn Sie beispielsweise jedes Element anhand der CustomerName-Eigenschaft anzeigen möchten, legen Sie die DataTextField-Eigenschaft auf CustomerName fest.
Sie möchten jedes Element als Zusammenfassung anzeigen, die aus mehreren Datenwerten besteht. Um dies zu erreichen, können Sie das ItemDataBind-Ereignis des List-Steuerelements oder das ItemDataBind-Ereignis des SelectionList-Steuerelements behandeln und die Text-Eigenschaft programmgesteuert festlegen. Das folgende Codebeispiel zeigt, wie Buchinformationen als Kombination aus Titel und Preis wiedergegeben werden.
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}"));
}
Für Geräte, die eine umfassendere Wiedergabe unterstützen, können Sie für das List-Steuerelement einen Vorlagensatz verwenden, um eine angepasste Ansicht eines Datenelements anzuzeigen. Im Vorlagenmodus funktioniert das List-Steuerelement wie das Repeater-ASP.NET-Serversteuerelement. Sie können z. B. mit folgender Elementvorlage eine detaillierte Ansicht eines Buches anzeigen.
<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 >
Weitere Informationen über Vorlagensätze finden Sie unter Vorlagensätze und Steuerelemente mit Vorlagen.
Siehe auch
Konzepte
Zugreifen auf Daten mit Auflistungssteuerelementen
Unterschiede zwischen der SelectionList-Klasse und der List-Klasse