比较GridView,DataList,Repeator ,DetailsView,FormView
.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能够改善
在Asp.net 2上面,存在着
GridView
DataGrid
DataList
Repeater
DetailsView
FormView
一批数据呈现控件和
ObjectDataSource
XmlDataSource
AccessDataSource
SiteMapDataSource
SqlDataSource
PagedDataSource
一批数据源控件
在数据控件中,DataGrid已经被取代,未来将会很少出场.DataList以后可能会被升级或者被另一控件所取代.Repeator也有被
取代的可能,不过我认为这种可能会比较小,Repeator控件是更加自由自定义数据控件,其存在就是为了开发者释放个人的灵感
自由是其存在的价值,以后的改进只可能会向着使开发更加便利方向.所以以后的数据源控件中,最常用的数据源控件将是4个
GridView --- ? --- DetailsView --- FormView
在数据源控件中,AccessDataSource是一个弱化的SqlDataSource,其本身的存在就令人怀疑,一个专用的数据源控件无法提供
比SqlDataSource更加丰富的专用功能,反而比SqlDataSource更加弱化,当然属于被淘汰的角色,即使是开发基于Access数据库
的Web程序,使用这个控件也是差的选择,因为SqlDataSource比它更强更好.
SiteMapDataSource也是一个类似于AccessDataSource的控件,但是有所不同的是,这个控件的确使基于SiteMap的开发更加容易.
未来也是有前途的控件之一.
如同DataList数据控件一样,PagedDataSource这个数据源控件现在已经不在被提到了,因为分页功能被很多控件集成了,从1.0版
就存在的这位前辈没有了用武之地,如今,大概唯一的用处是为像DataList这样落后的控件提供支持了
未来3位继续有前途的数据源控件是SqlDataSource,XmlDataSource和ObjectDataSource,这3位大人物各有所长,各领一面风骚.
真正能傲视群雄.