Repeater, DataList, 和GridView的区别及使用
从对象层次图可以看出,Repeater是最轻最小的控件,它仅仅继承了基本控件的功能,包括ID属性、子控件集合等。另一方面,DataList和DataGrid则继承了WebControl功能,包括样式和外观属性。
从对象模型看,repeater是最简单的控件,它也是最小的数据绑定控件,它没有外观,也不表现为任何特定的用户界面。Repeater也支持模板。但它不支持内建的样式和外观属性。如果你需要完全控制页面,用repeater是一个最合适的选择。
DataList具有repeater的功能,并支持外观控制。它继承了WebControl的外观特性,并增加了一些样式属性,以控制其子控件的外观。DataList也支持对项目的标准操作,比如选择、编辑、删除。当需要产生横向或纵向的一系列项目时,采用DataList是最合适的。
GridView控件实现了表格样式的列和行。和DataList类似,它也支持外观和样式控制。除了支持对项目的选择、编辑等操作,GridView还支持对整个集合的操作,包括分页、排序等等。GridView和DataList的最大不同在于,GridView不包含任何模板属性,这意味着项目或者表格的行不是模板化的。但是,通过加入TemplateColumn到某个列,你可以在列上使用模板。
下表概括了列表控件的主要功能:

同时我们也不能忘了.NET 3.5中给我们提供的新数据绑定控件ListView和DataPager,ListView就是DataGrid和 Repeater的结合体,它既有Repeater控件的开放式模板,又具有DataGrid控件的编辑特性。这绝对是一个可以引起你兴趣的好东东,因为它给你提供了比DataGird丰富得多的布局手段,同时又具有DataGrid的所有特性。 ListView控件本身并不提供分页功能,但是我们可以通过另一个控件 – DataPager来实现分页的特性。把分页的特性单独放到另一个控件里,会给我们带来很多好处,比如说可以让别的控件使用它,又比如说我们可以把它放在页面的任何地方。实质上,DataPager就是一个扩展ListView分页功能的控件。
微软给我们开发提供了这么多好用的控件,我们没有理由不用他们,当然我们应该合理适当的使用这些控件。如果只是罗别出来一个简单的显示数据,出一对性能的考虑,repeater必然是首选。如果需要对数据进行操作,DataList(首选)和GridView都可以。
当然,ListView和DataPager的组合必将是开发中的黄金组合,无论从性能上和功能实现上都是很棒的控件。
Repeater, DataList, 和GridView的区别及使用的更多相关文章
- Repeater, DataList, 和GridView控件的区别
http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html http://www.cnblogs.com/phone/archive/2010/09/15 ...
- cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等
asp.net分页是最最常用的功能,实现方式也很多,使用不同的控件有不同的分页方式. 下面分享一个我们团队内部使用了多年的一个分页控件cPage,是自己设计编写,没有冗余,简单.快速. cPage,现 ...
- repeater单双行颜色不同,gridview repeater DataList 鼠标经过改变背景颜色
1.gridview 双击GridView的OnRowDataBound事件: 在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示: protected void ...
- GridView控件 Reapter控件 DataList控件 的区别和用法
ASP.NET三大控件: 1.GridView控件:表格视图控件,可以用来绑定结果集或者视图,用起来比较方便和灵活,三个控件中使用最多的控件 用法--- this.gridview1.DataSour ...
- asp.net 中Repeater和Gridview的区别
Griview: 优点:1.GridView是从WebControl派生出来的,拥有WebControl样式属性,自身会被解析为table,其中的每一行会被 ...
- GridLayout和GridView的区别
GridView是一种适配器布局,它的继承关系是ViewGroup-->AdapterView-->AbsListView-->GridView,他是从一个adapter中取出内容填 ...
- yii框架里DetailView视图和GridView的区别
1,首先从语义上分析 DetailView是数据视图,用于显示一条记录的数据,相当于网页中的详情页 GridView是网格视图,用于显示数据表里的所有记录,相当于网页里的列表页 2.用法上的区别 首先 ...
- GridView, ListView 区别
ListView, GridView部分的类层次结构 AbsListView的xml属性 android:listSelector 当前item高亮时,显示的drawable android:draw ...
- 甩掉DataList,Repeater,列表数据显示得灵活--转
在WebForm 显示列表数据我们一般使用服务器控件Repeater.DataList或者GridView ,功强大能,使用简单.但同时也是有代价的, 一:不管你用哪个控件都需要牺牲一些额外的性能,因 ...
随机推荐
- Linux特殊权限及ACL权限
一.SetUID与SGID 只能用于二进制程序,脚本不能设置 执行者需要有该二进制程序的x权限 执行具有SUID权限的二进制程序,那么执行者将具有该二进制程序所有者的权限. 举例来说,/etc/pas ...
- DATASNAP双缓存下载文件
原文链接:http://www.cnblogs.com/hnxxcxg/archive/2012/12/29/2839358.html procedure TFrmMain.btnUpdateFile ...
- eclipse设置打开java文件目录
1. 第一步: 2. 第二步: 3. 第三步: Location:C:/WINDOWS/explorer.exe Arguments:${container_loc}
- jQuery超酷响应式瀑布流效果
参考 http://www.sucaihuo.com/js/74.html <script src="scripts/blocksit.min.js"></scr ...
- SpringMVC问题整理
JSP页面无法获取ModelAndView里的值 自己搭的项目突然EL表达式取不到值了 不管是用 ${msg} 还是用JSTL的<c:out value="${msg}"/& ...
- js过滤时间格式
Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+" : this.getMonth()+1 ...
- python瞎练
需求:有不规则列表 singlelist3 = [ '总计', '每吨人工:', '总人工', 1748.07, '金额'],如果当前元素为字符串且该元素的下一个相邻位置仍为字符串,那么请在该元素后面 ...
- vue 后退不刷新,前进刷新 keep-alive
最近在开发中遇到了这样的一个问题: A.B.C三个页面,有如下这样的场景: (1)从页面A离开进入B或C的时候,缓存A页面的数据,并且返回到A后,能保持A页面的跳转前职位 (2)离开B进入C的时候,缓 ...
- setTimeout设置为0 为啥不能立马执行
setTimeout(function(){}, timer) 是指延时执行.第一个参数是回调函数,第二个参数是指延时多久执行回调函数. setTimeout(function(){console.l ...
- 洛谷 P1600 天天爱跑步(LCA+乱搞)
传送门 我们把每一条路径拆成$u->lca$和$lca->v$的路径 先考虑$u->lca$,如果这条路径会对路径上的某一个点产生贡献,那么满足$dep[u]-dep[x]=w[x] ...