统计在线人数...

ASP.NET 移动控件 --ObjectList 控件

[ 来源:转载 | 作者:佚名 | 时间:2006-5-29 下午 12:21:43 | 浏览:统计中... ]

提供一组数据对象的功能丰富的视图。ObjectList 控件的大部分行为是从 List 控件继承的,其中包括通过使用设备模板集支持模板化呈现以及内部分页等。有关更多信息,请参见模板集和模板化控件或分页文档。ObjectList 控件在以下方面不同于 List 控件。

功能 ObjectList 控件 List 控件 
数据绑定 严格地数据绑定。将项添加到控件中对象列表的唯一方式是将该列表绑定到数据源。 支持以静态方式、编程方式以及通过数据绑定来添加项。 
多属性视图 允许查看与每一项关联的多个属性(或字段)。根据设备的特性,可将控件呈现为显示每个对象多个属性的表,或提供用户界面允许用户查看对象的附加属性。 显示各项的一个属性。 
多个项命令 允许将多个命令与每项关联。某项的命令集可以在所有项中共享,也可以是该项所特有的。 支持各项的默认命令。 
内部分页和模板化 支持;但是如果您查看具有许多信息的对象,则将使用列表,同时一个单独的窗体将用于显示项详细信息。 支持。 

此表比较 ObjectList 和 List 控件的功能。但是,一定要了解虽然两个控件都支持自定义分页和模板化,但 SelectionList 类不支持分页。

有关使用 ObjectList 控件的更多信息,请参见移动控件的设计和呈现概念文档。

移动控件语法
必需的属性、默认值和具有代码特征的元素以粗体显示。

<mobile:ObjectList
   runat="server"
   id="id"
   Font-Name="fontName"
   Font-Size="{NotSet|Normal|Small|Large}"
   Font-Bold="{NotSet|False|True}"
   Font-Italic="{NotSet|False|True}"
   ForeColor="foregroundColor"
   BackColor="backgroundColor"
   Alignment="{NotSet|Left|Center|Right}"
   StyleReference="styleReference"
   Wrapping="{NotSet|Wrap|NoWrap}"

   AutoGenerateFields="{True|false}"
   BackCommandText="backCommandText"
   CommandStyle="commandStyle"
   DataMember="dataMember"
   DetailsCommandText="detailsCommandText"
   ItemCount="itemCount"
   LabelField="dataTextField"
   LabelStyle="labelStyle"
   MoreText="moreText"
   OnItemDataBind="onItemDataBindHandler"
   OnItemCommand="onItemCommandHandler"
   OnItemSelect="onItemSelectHandler"
   OnLoadItems="onLoadItemsHandler"
   OnShowItemCommands="onShowItemCommandsHandler"
   TableFields="tableFields">
Place DeviceSpecific/Choice construct here. (optional)
   <DeviceSpecific>
      <Choice>
        Add choice attributes here.
     </Choice>
   </DeviceSpecific>
Place explicitly declared Fields here. (optional)
   <Field 
      id="id"
      Title="titleText" 
      DataField="value"
      FormatString="formatString" 
      Visible="{True|False}"/>
   </Field>
Place explicitly declared Commands here. (optional)
   <Command Name="CommandName" Text="CommandText" />
</mobile:ObjectList>
静态字段和命令可被声明为项子元素。

包容规则
以下控件可以包含 ObjectList 控件。

控件 说明 
System.Web.UI.MobileControls.Form 可以包含任意多个 ObjectList 控件。 
System.Web.UI.MobileControls.Panel 可以包含任意多个 ObjectList 控件。 

ObjectList 控件可以包含以下控件。

控件 说明 
System.Web.UI.MobileControls.DeviceSpecific ObjectList 控件可以不包含 DeviceSpecific 控件,也可以包含一个 DeviceSpecific 控件。 
System.Web.UI.MobileControls.ObjectList.Field ObjectList 控件中可以包含任意数目的 Field 控件。 
System.Web.UI.MobileControls.ObjectList.Command ObjectList 控件中可以包含任意数目的 Command 控件。 

设备模板
有关指定 ObjectList 控件的模板的信息,请参见特定于设备的呈现文档。下表包含一组可用于 ObjectList 控件的模板。

模板 说明 
AlternatingItemTemplate 此模板呈现 ObjectList 对象的视图列表中编号为偶数的项。 
HeaderTemplate 页眉模板呈现在列表的开头。在分页模式下,每页上都呈现页眉。 
FooterTemplate 页脚模板呈现在列表的末尾。在分页模式下,每页上都呈现页脚。 
ItemDetailsTemplate 此模板替换 ObjectList 对象的命令/详细信息视图的呈现。 
ItemTemplate 呈现每个列表项的项模板。 
SeparatorTemplate 分隔符模板将项互相分隔开。 

注意   只有 ItemsDetails 模板影响命令/详细信息视图。如果要对所有视图应用模板,则必须为命令/详细信息视图指定 ItemsDetails 视图,并为列表视图指定其他模板中的一个。
特定于设备的行为 - HTML
在 HTML 设备上,对象列表最初呈现为一个表,每个列表项(对象)都由一个链接表示。默认情况下,此链接是一个与数据集中第一列关联的值。如果设置了 LabelField 属性,则该链接是一个与此属性指定的字段关联的值。可以更改此行为,以便最初的列表项只是一个标签并显示“更多信息”链接。通过单击“更多信息”,用户可以查看有关对象列表中特定对象的更多详细信息。例如,用户可以查看一个表,该表列出每个字段标题和值,以及与该项关联的所有命令。

如果设置了 TableFields 属性,并且设备适于显示表视图,则每个列表项改为由表行表示,其中每个指定的表字段都在一列中,后接标有“更多信息”的可选链接。项标签(或表视图中第一列的项)本身可以呈现为超级链接。

决定显示哪些链接以及如何处理这些链接取决于是否可以显示附加项字段以及是否定义了默认命令。

下表对此行为进行了总结。

定义了命令 默认命令 附加字段 行为 
No No No 呈现的内容是静态的。 
No No Yes 各个项显示为超级链接。单击某一项可显示该项的详细信息。 
No(*) Yes No 各个项显示为超级链接。单击某一项可引发默认命令。 
No(*) Yes Yes 各个项显示为超级链接。单击某一项可引发默认命令。
显示 More 链接。单击某一项可显示该项的详细信息。 
Yes No Yes or No 各个项显示为超级链接。单击某一项可显示该项的详细信息。 
Yes No Yes 各个项显示为超级链接。单击某一项可显示该项的详细信息。 
Yes Yes Yes or No 各个项显示为超级链接。单击某一项可引发默认命令。显示 More 链接。单击某一项可显示该项的详细信息。 

上表使用以下列标题: 

定义了命令指示对象列表中是否定义了命令。星号 (*) 表示未定义默认命令以外的命令。 
默认命令指示是否通过设置 DefaultCommand 属性定义了默认命令。 
附加字段指示对象列表中是否定义有附加字段,这些附加字段未显示在列表视图中。 
详细信息视图(如果显示的话)具有一个表,该表列出每个字段标题和值,以及所有与该项关联的命令和一个标有“后退”的链接

[1] [2]  下一页

共有0人参与评价,平均得分:0分
评论内容只代表网友观点,与本站立场无关! 查看完整内容
   

当前在线人数
QQ:748838 MSN:allen_xia#msn.com E-mail:allenxia666#126.com QQ群:站长联盟北方区-北京(28200145) 站长联盟南方区-上海(67713522)