(十一)Asp.NET使用DataList进行数据显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(⼗⼀) 使⽤DataList 进⾏数据显⽰
使⽤DataList 进⾏数据的展⽰时,⼀般⽤于多⾏多列数据的展⽰
如:
DataList 拥有强⼤的模版特性:
ItemTemplate :⼀般项模版,该模版会应⽤多次
AlternatingItemTemplate :交替项模版,该模版会应⽤多次
FooterTemplate :尾模版,在项模版之后,只应⽤⼀次,不能使⽤Eval 绑定
HeaderTemplate :头模版,在项模版之前,只应⽤⼀次,不能使⽤Eval 绑定
SeparatorTemplate :分离模版
SelectedItemTemplate :被选定模版
EditItemTemplate :被编辑模版
操作
事件名称说明编辑
EditCommand 由于DataList 不⽀持双向绑定,其更新与删除必须在对应事件中显式调⽤数据源控件的Delete 和Update ⽅法,并且所有的DeleteParameters 和UpdateParameters 参数必须指定,同时编辑、取消和更新按钮都需要在事件编程中设置属性并调⽤DataBind ⽅法重新绑定。
取消
CancelCommand 更新
UpdateCommand 删除
DeleteCommand 选择
SelectedIndexChanged ⽤于实现就地显⽰功能项命令
ItemCommand ⾃定义操作的按钮事件项绑定ItemDataBound 数据项绑定
DataList 控件与Repeater 控件使⽤起来⾮常类似,DataList 能够更加灵活的控制显⽰的列与⾏。
接下来我们通过具体的⽰例来演⽰如何通过DataList 控件进⾏列表展⽰的。
⽰例⼀:使⽤DataList 进⾏数据展⽰
⼀、先准备⼀张照⽚信息表:
⼆、新建Web页⾯,起名DataListDemo.aspx,然后拖拽上来⼀个DataList控件:
三、创建头模板
四、创建项模板(⾃定义的模板,展⽰数据⽤,定义成什么样⼦,就展现为什么样⼦,不会⽣成额外多余的标签):
五、可以在属性中套⽤DataList⾃带的⼀些主题:
六、写后台绑定代码,实现数据的绑定,在页⾯第⼀次加载时候开始绑定数据:
展⽰效果如下:
⽰例⼆、使⽤DataList进⾏数据删除
⼀、在页⾯删除按钮上添加CommandName=”delete”、CommandArgument绑定的参数,为OnClientClick事件添加⼀个js代码,⽤来实现弹出确认框:
⼆、由于CommandName为delete,所以会触发DataList的OnDeleteCommand事件,选择DataList的事件,新建⼀个DeleteCommand事件:
三、在DeleteCommand事件中加⼊删除的代码:
点击按钮实现删除
在DataList控件中点击服务器控件,如果把控件的CommandName设置为delete,会触发DeleteCommand事件,我们可以根据需要设置不同的CommandName,从⽽实现不同的事件处理。
问:DataList控件与Repeater控件的区别是什么?
DataList控件:⼀⾏可以有多条记录,就像图⽚列表⼀样;分页功能需要⼿写。
Repeater 控件使⽤数据源返回的⼀组记录呈现只读列表。
Repeater 控件不指定内置布局。
可以使⽤模板创建 Repeater 控件的布局。
补充:
DataList 控件是从 WebControl 类中派⽣的,⽽ Repeater 控件是从 Control 类中派⽣的。
WebControl 类包含许多美学⽅⾯的zhuan属性,例如 BackColor、shuForeColor、CssClass、BorderStyle 等。
这意味着如果使⽤ DataGrid 和 DataList,就可以通过它们从 WebControl 类中继承的属性指定样式设置。
⽽ Repeater 没有任何这样的样式属性。
对 Repeater 输出的任何可视设置都必须在 Repeater 的模板中指定。
DataList⾃⾝会被解析为table,其中的每⼀⾏会被解析为tr-td
Repeater则只是重复模板中的内容,这也是为什么repeater没有提供ItemStyle,SelectItemTemplate这些模板和样式控制的原因。