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 ,功强大能,使用简单.但同时也是有代价的, 一:不管你用哪个控件都需要牺牲一些额外的性能,因 ...
 
随机推荐
- paypal支付 NVP支付 paypal 手续费 GetTransactionDetails
			
主要内容: 本文章主要讲解的是NVP的对接,以最简单的接口案例,讲解一下对接NVP的方案. 先提供下paypal 官方文档的主要功能对接说明,如下 1.请求API 服务器端点 描述 https://a ...
 - 【Java并发】锁机制
			
一.重入锁 二.读写锁 三.悲观锁.乐观锁 3.1 悲观锁 3.2 乐观锁 3.3 CAS操作方式 3.4 CAS算法理解 3.5 CAS(乐观锁算法) 3.6 CAS缺点 四.原子类 4.1 概述 ...
 - VUE【四、组件】
			
今天周五了,这周由于开始了健身计划,晚上几乎没精力继续看书了,早上也很困..可能刚开始不适应,适应了就好了..只能挤挤时间抓紧看 原计划这周看完vue再把springmvc看了的,又只看了部分vue, ...
 - zabbix环境mysql分区表管理历史数据_python实现
			
zabbix添加数据库表partition zabbix系统自身有housekeeper进程来清除超过保留时间的数据,但是数据量上来之后就会比较影响性能,因此可以使用mysql的表分区来解决这个问题, ...
 - Airflow安装错误:sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError)
			
1 完整的异常信息: raise errorclass, errorvalue sqlalchemy.exc.OperationalError: (_mysql_exceptions.Operatio ...
 - OverflowError:django signed integer is greater than maximum 数据库日期字段相关错
			
使用django中的默认数据库sqlite3, 在pycharm中录入日期字段相关信息结果出现问题 在保存的时候如图 直接在界面选择的日期变成了时间戳, 并且在获取数据的时候报错 经过查询之后(舔大佬 ...
 - QT学习之深入了解信号槽
			
槽函数和普通的 C++成员函数没有很大的区别.它们也可以使 virtual 的:可以被重写:可以使 public.protected 或者 private 的:可以由其它的 C++函数调用:参数可以是 ...
 - web开发:javascript高级
			
一.事件案例 二.循环绑定之变量污染 三.事件的绑定与取消 四.事件对象 一.事件案例 <!DOCTYPE html> <html> <head> <meta ...
 - vim文本编辑及文件查找应用2
			
vim编辑器: vim末行模式: 内建的命令行接口 (1)地址定界 :start_pos[,end_pos] #:特定的第#行,例如5即第5行 .:当前行 .,+#:当前行,加#行的行范围 $:最后一 ...
 - C# 对象和类型(2) 持续更新
			
类 class PhoneClass { public const string DayOfSendingBill = "Monday"; public int Customer ...