gridview,datalist,repeater控件使用

gridview是很智能的, 直接就提供了很多的表现方式, 是三者之中最复杂也是最占资源的一块, 常用于列表数据处理的时候, 但是最好是不要太大量的数据;
repeater: 顾名思意, 其实就是实现重复现显示的功能, 里面的内容自定义程度高, 有点类似于在ASP中写循环语句来实现自动生成数据列表那样, 是线性的处理, 很快的. 直接输出; 数据量很大的时候, 可以考虑用这个.
datalist: 上面有人已经说了, 介于两者之间;
.Net 2中5个数据源控件,GridView,DataList,Repeator ,DetailsView,FormView
其中前3个用于呈现多列数据,后面2个用于呈现单列数据,即常用的数据明细.
GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现
DataList,Repeator和FormView数据控件都有很强的自定义布局能力,如果数据呈现需要较为复杂的布局方案,这3个控件是
首选

GridView ,DetailsView和FormView都是2.0版本新增控件,内置了分页,排序等等功能,其改进程度是1.1所提供控件无法比的.
DataList和Repeator是1.1版就提供的控件,内置功能较弱,需要自己实现分页,排序,数据事件等功能.

有趣的是,在现在的Aspnet平台上,如果从功能上来说呈现单列数据时DetailsView和FormView相对应,DetailsView布局固定
FormView自定义布局,呈现多列数据时只有GridView来负责布局固定的数据,从功能上来说,没有对应的控件与GridView相配.
DataList提供的数据功能与GridView相比,实在是太弱了.与GridView几乎不需要编程就能担负数据呈现的重任相比,DataList
要求程序员必须自己写代码来实现想要的功能.推测是为了与1.1兼容,所以没有升级DataList.为了赶进度,所以没有像升级
DataGrid为GridView一样升级DataList为ListView....希望以后的.Net Framework 3能够改善
datalist的 this.DataList1.DataKeyField = "id";相当于Gridview的    this.GridView1.DataKeyNames = new string[] { "id" };
 int id = Convert.ToInt32(this.GridView1.DataKeys[e.RowIndex].Value);
datalist控件的
OnDeleteCommand
OnEditCommand
OnUpdateCommand
OnCancelCommand
只要有相应的commandname为delete,update,edit,cancel,就会触发

posted on 2008-07-03 13:07  小顾问  阅读(1371)  评论(0编辑  收藏  举报