关闭

Mobile控件List与SelectionList控件数据绑定

1627人阅读 评论(3) 收藏 举报

List 和 SelectionList ASP.NET 移动控件可以呈现基本的数据视图并提供与数据项的基本交互。

List 或 SelectionList 移动控件中的数据可以绑定到 DataView 或 DataSet。若要将 List 或 SelectionList 移动控件中的数据绑定到 DataView,可以设置 DataSource 属性并调用 DataBind 方法来执行数据绑定。例如,如果有一个 DataSet 包含一个名为 Titles 的表,则可以使用以下语句。

[C#]
myList.DataSource = ds.Tables["Titles"].DefaultView;
myList.DataBind(); 


或者,若要将数据直接绑定到 DataSet,还必须将 DataMember 属性设置为该表的名称。以下示例与前一个示例是等同的。

myList.DataSource = ds;
myList.DataMember = "Titles";
myList.DataBind(); 


List 控件或 SelectionList 控件中的列表项通常可以绑定到每个数据项中的两项属性。第一项属性成为列表项的 Text 属性,第二项属性成为列表项的 Value 属性。这些值通过 List (SelectionList) 控件的 DataTextField (DataTextField) 属性和 DataValueField (DataValueField) 属性来设置。List 控件使用每个项的 Text 属性来呈现各项。例如,如果您要按 CustomerName 属性呈现每个项,请将 DataTextField 属性设置为 CustomerName。

有时,您可能需要将每个项呈现为由它的几个属性组成的摘要。为此,您可以重写 List 控件的 ItemDataBind 事件或 SelectionList 控件的 ItemDataBind 事件,并设置 Text 属性。以下示例用于将书籍呈现为书名和价格的组合。

[C#]
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"));



在支持更丰富的呈现的设备上,您可以使用 List 控件的模板集来显示数据项的自定义视图。在模板模式下,List 控件的功能与 Repeater ASP.NET 服务器控件的功能类似。例如,您可以使用以下项模板显示书籍的详细视图。

<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}") %>
</td>
</tr>
</ ItemTemplate > 

有关模板集的更多信息,请参见模板集和模板化控件文档。

List 模板或 SelectionList 模板中的数据绑定
您可以在 List 控件或 SelectionList 控件中定义一个模板,以自定义该控件。若要使用这些模板中的内联数据绑定,请使用以下示例之一:

<%# DataBinder.Eval(((MobileListItem)Container).DataItem, "fieldname") %>


<%#((MobileListItem)Container).Text%>
<%#((MobileListItem)Container).Value%> 

笔者注:

关于绑定自增字段:

如果想显示标号,1、AAA,2、BBB,3、CCC,可以这样操作:

<%# DataBinder.Eval(((MobileListItem)Container), "Index", " {0}、") %>

相关参考:
http://msdn2.microsoft.com/zh-cn/library/t22xkkc9.aspx

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:340139次
    • 积分:4448
    • 等级:
    • 排名:第6938名
    • 原创:95篇
    • 转载:55篇
    • 译文:5篇
    • 评论:105条
    最新评论