ASP.NET Web DataList控件介绍

来源:互联网 发布:淘宝代理数据包下载 编辑:程序博客网 时间:2024/04/30 04:44

一、DataList Web 服务器控件概述

DataList Web 服务器控件以某种格式显示数据,这种格式可以使用模板和样式进行定义。DataList 控件可用于任何重复结构中的数据,如表。DataList 控件可以以不同的布局显示行,如按列或行对数据进行排序。您可以选择将 DataList 控件配置为允许用户编辑或删除信息。还可以自定义该控件以支持其他功能,如选择行。

 

二、将数据绑定到控件

必须将 DataList Web 服务器控件绑定到数据源。最常用的数据源是数据源控件,如 SqlDataSource 或 ObjectDataSource 控件。或者,可以将 DataList 控件绑定到任何实现 IEnumerable 接口的类,该接口包括 ADO.NET 数据集(DataSet 类)、数据读取器(SqlDataReader 类或 OleDbDataReader 类)或大部分集合。绑定数据时,您可以为 DataList 控件整体指定一个数据源。在给此控件添加其他控件(例如,列表项中的标签或文本框)时,还可以将子控件的属性绑定到当前数据项的字段。

 

三、DataList模板

模板属性 说明

ItemTemplate

包含一些 HTML 元素和控件,将为数据源中的每一行呈现一次这些 HTML 元素和控件。

AlternatingItemTemplate

包含一些 HTML 元素和控件,将为数据源中的每两行呈现一次这些 HTML 元素和控件。通常,您可以使用此模板来为交替行创建不同的外观,例如指定一个与在 ItemTemplate 属性中指定的颜色不同的背景色。

SelectedItemTemplate

包含一些元素,当用户选择 DataList 控件中的某一项时将呈现这些元素。通常,您可以使用此模板来通过不同的背景色或字体颜色直观地区分选定的行。还可以通过显示数据源中的其他字段来展开该项。

EditItemTemplate

指定当某项处于编辑模式中时的布局。此模板通常包含一些编辑控件,如 TextBox 控件。

HeaderTemplate 和 FooterTemplate

包含在列表的开始和结束处分别呈现的文本和控件。

SeparatorTemplate

包含在每项之间呈现的元素。典型的示例可能是一条直线(使用 HR 元素)

 

四、支持的事件

DataList 控件支持多种事件。其中的 ItemCreated 事件可让您在运行时自定义项的创建过程。ItemDataBound 事件还为您提供了自定义 DataList 控件的能力,但需要在数据可用于检查之后。例如,如果您正使用 DataList 控件显示任务列表,则可以用红色文本显示过期项,以黑色文本显示已完成项,以绿色文本显示其他任务。这两个事件都可用于重写来自模板定义的格式设置。

其余事件为了响应列表项中的按钮单击而引发。这些事件旨在帮助您响应 DataList 控件的最常用功能。支持该类型的四个事件:

1、EditCommand

2、DeleteCommand

3、UpdateCommand

4、CancelCommand

若要引发这些事件,可将 Button、LinkButton 或 ImageButton 控件添加到 DataList 控件中的模板中,并将这些按钮的 CommandName 属性设置为某个关键字,如 edit、delete、update 或 cancel。当用户单击项中的某个按钮时,就会向该按钮的容器(DataList 控件)发送事件。按钮具体引发哪个事件将取决于所单击按钮的 CommandName 属性的值。例如,如果某个按钮的 CommandName 属性设置为 edit,则单击该按钮时将引发 EditCommand 事件。如果 CommandName 属性设置为 delete,则单击该按钮将引发 DeleteCommand 事件,依此类推。

DataList 控件还支持 ItemCommand 事件,当用户单击某个没有预定义命令(如 edit 或 delete)的按钮时将引发该事件。您可以按照如下方法将此事件用于自定义功能:将某个按钮的 CommandName 属性设置为一个自己所需的值,然后在 ItemCommand 事件处理程序中测试这个值。例如,您可以在选择某项时使用这种方法

 

因为时间关系,DataList控件的介绍就先到这里,在后续的文章中,我再通过一个小的案例介绍如何使用DataList控件编码实现数据绑定、删除和编辑功能。