MSDN datalist 介绍,多多注意一下项的布局,挺有用!
控件布局的模板
在 DataList 控件中,使用模板定义信息的布局。DataList 控件支持下列模板:
模板 | 说明 |
---|---|
ItemTemplate | 为数据源中的每行呈现一次的 HTML 元素和控件。 |
AlternatingItemTemplate | 与 ItemTemplate 元素类似,但对 DataList 控件中的行每隔一行呈现一次。如果使用此模板,通常为其创建不同的外观,如与 ItemTemplate 不同的背景色。 |
SelectedItemTemplate | 当用户选择 DataList 控件中的项时呈现的元素。典型的用法是使用背景色或字体颜色可视地标记该行。还可以通过显示数据源中的其他字段来展开该项。 |
EditItemTemplate | 当项处于编辑模式中时的布局。此模板通常包含编辑控件,如 TextBox 控件。 |
HeaderTemplate 和 FooterTemplate | 在列表的开始和结束处呈现的文本和控件。 |
SeparatorTemplate | 在每项之间呈现的元素。典型的示例是行(使用 <HR> 元素)。 |
项的布局
不但可使用模板指定个别项内控件和文本的布局,而且还可以指定相对于其他项应如何布置这些项。DataList 控件提供下列这些选项:
选项 | 说明 |
---|---|
流与表 RepeatLayout 属性设置为 Flow 或 Table | 在流布局中,以字处理文档的样式在行内呈现列表项。
在表布局中,项呈现到 HTML 表中,这更便于指定项的外观,因为它使您得以设置表单元格属性,如网格线。有关详细信息,请参见在 DataList Web 服务器控件中指定流或表格式。 |
垂直与水平排序 RepeatDirection 属性设置为 Vertical 或 Horizontal | 默认情况下,在单个垂直列中显示 DataList 控件中的项。但是,可以指定该控件包含多个列。如果这样,可进一步指定这些项是垂直排序(类似于报刊栏)还是水平排列(类似于日历中的日)。有关详细信息,请参见在 DataList Web 服务器控件中指定水平或垂直布局。 |
列数 RepeatColumns | 不管 DataList 控件中的项是垂直排序还是水平排序,都可指定该列表将具有多少列。这使您得以控制 Web 页的呈现宽度,通常可以因此而避免水平滚动。 |
事件
DataList 控件支持几种事件。这些事件之一 ItemCreated 事件提供一种在运行时自定义项的创建过程的方法。ItemDataBound 事件也提供自定义 DataList 控件的能力,但要在数据可用于检查之后才可提供。例如,如果正使用 DataList 控件显示待办事宜列表,则可以用红色文本显示过期项,以黑色文本显示已完成项,以绿色文本显示其他任务。这两个事件都可用于重写来自模板定义的格式设置。
其余事件为了响应列表项中的按钮单击而引发。它们旨在帮助您响应 DataList 控件的最常用功能。支持该类型的四个事件:
- EditCommand
- DeleteCommand
- UpdateCommand
- CancelCommand
当用户单击某项中的按钮时,该事件会冒泡到按钮的容器:DataList 控件。按钮引发的确切事件取决于所单击的按钮的 CommandName 属性。例如,如果按钮的 CommandName 属性为 edit,则该按钮导致引发 EditCommand 事件。如果 CommandName 属性为 delete,则该按钮导致引发 DeleteCommand 事件,等等。
DataList 控件还支持 ItemCommand 事件,当用户单击没有预定义的命令(如“编辑”或“删除”)的按钮时引发该事件。通过将按钮的 CommandName 属性设置为一个需要的值,然后在 ItemCommand 事件处理程序中对其进行测试,可以将该事件用于自定义功能。(例如,可以在选择某项时使用该方法,如允许用户选择 DataList Web 服务器控件中的项中所述。)
有关 DataList 控件支持的事件的完整列表,请参见 DataList 事件。有关 Web 窗体事件的更多详细信息,请参见 ASP.NET 服务器控件事件模型。