DataList控件
工具箱中包括一个DataList控件。该控件可用于创建模板化的列表数据。可以在一个模板化列表中,通过设置模板来控制呈现该列表的HTML。模板描述如何显示列表中的某一项的HTML。
提示:DataList控件提供了一些简单的模板。如果需要精确控制布局,可以考虑使用Repeater控件,该控件将在下文中讲解。
在表中列出了DataList控件提供的7个不同的模板变量,它们可用来定义外观。在这些模板中,除了ItemTemplate模板外,其他都是可选的。
表 DataList控件模板
模板名 说 明
AlternatingItemTemplate 为每一个间隔项提供内容和布局。如果没有定义,在DataList中将为每一项使用ItemTemplate
EditItemTemplate 为当前正在编辑的项提供内容和布局。如果没有定义,在DataList中将为正在编辑的项使用ItemTemplate
FooterTemplate 为页脚提供内容和布局。如果没有定义,DataList将不会有页脚
HeaderTemplate 为标题提供内容和布局。如果没有定义,DataList将不会有标题行
ItemTemplate 必须定义。每一项的内容和布局的默认定义
SelectedItemTemplate 为当前选中的行提供内容和布局。如果没有定义,ItemTemplate将被使用
SeparatorTemplate 为项与项之间的分隔符提供内容和布局。如果没有定义,将不会使用分隔符
为了学习DataList控件,首先,创建一个新应用程序(WebNorthWind-DataControls)或者添加一个页面到已有的应用程序DataControls中。把DataList控件拖到表单中。在“Design”视图中,打开智能标签可以选择数据源。作为练习,选择“New Data Source”项,接着选择“SQL Database”,将新数据源命名为DataListCustomerDataSources。使用已有的指向NorthWind的连接,然后设置选中Customers表中的所有字段。完成后,DataList将被表示字段名称和绑定到数据控件的Label填充。
如果单击“Source”,将看到DataList控件已经定义了许多属性,以便识别它的数据源:
ID="DataList1"
DataKeyField="CustomerID"
DataSourceID="DataListCustomerDataSources">
图:DataList绑定数据控件
在DataList 的开闭标签之间包括一个标签。该标签定义了每一项应该如何显示。在默认的< ItemTemplate>标签中,每个列都用Literal控件表示,而绑定的值则用Label控件表示。这些Label控件的Text属性使用 Eval方法传入数据中的列名创建,如下所示:
Text=
提示:Eval返回的是传入的列名所对应的列数据的值。
有多种可以改善该控件外观的方法。首先,回到“Design”视图,单击“Auto Format…”,选择一个方案(如Classic),这样做将为DataList增加许多样式:
ID="DataList1"
DataKeyField="CustomerID"
DataSourceID="DataListCustomerDataSources"
CellPadding="4"
ForeColor="#333333">
...
...
另外,可以回到智能标签,选择“Edit Templates”,这将使智能标签变为“Template Editing Mode”(模板编辑模式,直到单击“End Template Editing”,该模式才结束),并提供一个下拉菜单来选择需要编辑哪个模板。
可以通过展开或者移动模板中的元素来随意修改模板、添加新的控件等。
作为替代,可以直接在内容文件中添加或者修改模板。选择何种方法由个人决定。每个模板都支持它自己的样式对象,这些对象可以在设计时设置并在运行时修改。
默认情况下,每个项是一个接着一个显示的,位于一个垂直的列中。可以通过把DataList的“Repeat Direction”属性由Vertical设置为Horizontal来修改它,也可以通过设置RepeatColumns属性来设置列的数量。
在DataList控件中,包括一些控制外观和行为的常用属性,它们并不是从Control或WebControl类继承的,如表所示。
表 未从WebControl类继承的DataList控件属性
属 性 类 型 读 写 值 说 明
Caption String × × 作为HTML caption元素显示的文本
CaptionAlign TableCaptionAlign × × Bottom、Left、NotSet、Right、Top
指定caption元素的放置位置
CellPadding Integer × × 单元格内容和边框之间的像素数
CellSpacing Integer × × 单元格之间的像素数
DataKeyField String × × 指定数据源中的键字段
DataKeys DataKeyCollection × × 每条记录的键值的集合
续表 未从WebControl类继承的DataList控件属性
属 性 类 型 读 写 值 说 明
DataMember String × × 设定多成员数据源中的数据成员
DataSource Object × × 为控件设置数据源
EditItemIndex Integer × × 编辑的行,从零开始的行索引。如果没有项被编辑或者清除对某项的选择,设置值为-1
EditItemStyle TableItemStyle × 派生自WebControl.
Style类,目前选中的编辑行的样式
FooterStyle TableItemStyle × 派生自WebControls.
Style类,页脚部分的样式属性
TAG:高端网站建设高端网站设计网站制作网站建设