Repeater, DataList, 和GridView控件的区别
http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html
http://www.cnblogs.com/phone/archive/2010/09/15/1826891.html
1. GridView 控件
GridView 控件用于显示表中的数据。通过使用 GridView 控件,您可以显示、编辑、删除、排序和翻阅多种不同的数据源(包括数据库、XML 文件和公开数据的业务对象)中的表格数据。
显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。
可以使用 GridView 来完成以下操作:
- · 通过数据源控件自动绑定和显示数据。
- · 通过数据源控件对数据进行选择、排序、分页、编辑和删除。
另外,还可以通过以下方式自定义 GridView 控件的外观和行为:
- · 指定自定义列和样式。
- · 利用模板创建自定义用户界面 (UI) 元素。
- · 通过处理事件将自己的代码添加到 GridView 控件的功能中。
1.1 使用 GridView 控件进行数据绑定
GridView 控件提供了两个用于绑定到数据的选项:
- · 使用 DataSourceID 属性进行数据绑定,此选项让您能够将 GridView 控件绑定到数据源控件。建议使用此方法,因为它允许 GridView 控件利用数据源控件的功能并提供了内置的排序、分页和更新功能。
- · 使用 DataSource 属性进行数据绑定,此选项使您能够绑定到包括 ADO.NET 数据集和数据读取器在内的各种对象。此方法需要为所有附加功能(如排序、分页和更新)编写代码。
当使用 DataSourceID 属性绑定到数据源时,GridView 控件支持双向数据绑定。除可以使该控件显示返回的数据之外,还可以使它自动支持对绑定数据的更新和删除操作。
1.2 在 GridView 控件中设置数据显示格式
可以指定 GridView 控件的行的布局、颜色、字体和对齐方式。可以指定行中包含的文本和数据的显示。另外,可以指定将数据行显示为项目、交替项、选择的项还是编辑模式项。GridView 控件还允许指定列的格式。
1.3 使用 GridView 控件编辑和删除数据
默认情况下,GridView 控件在只读模式下显示数据。但是,该控件还支持一种编辑模式,在该模式下控件显示一个包含可编辑控件(如 TextBox 或 CheckBox 控件)的行。您还可以对 GridView 控件进行配置以显示一个 Delete 按钮,用户可单击该按钮来删除数据源中相应的记录。
GridView 控件可对其关联数据源自动执行编辑和删除操作,使您无需编写代码即可启用编辑行为。或者,也可以以编程方式控制编辑和删除数据的过程(如在 GridView 控件绑定到只读数据源控件的情况下)。
您可以使用模板对当某个行处于编辑模式时使用的输入控件进行自定义。
1.4 GridView 排序功能
GridView 控件支持在不需要任何编程的情况下通过单个列排序。通过使用排序事件以及提供排序表达式,您可以进一步自定义 GridView 控件的排序功能。
1.5 GridView 分页功能
GridView 控件提供一种简单的分页功能。可以通过使用 GridView 控件的 PagerTemplate 属性来自定义 GridView 控件的分页功能。
适用场景
GridView 控件一般适用于以表的形式显示规则的二维关系数据。例如用于显示站点下所有用户的列表。
2. DataList 控件
DataList Web 服务器控件以可自定义的格式显示数据库行的信息。显示数据的格式在创建的模板中定义。可以为项、交替项、选定项和编辑项创建模板。标头、脚注和分隔符模板 也用于自定义 DataList 的整体外观。通过在模板中包括 Web 服务器控件,可将列表项连接到代码,这些代码使用户得以在显示、选择和编辑模式之间进行切换。
DataList与GridView不同,必须通过自定义的template 来显示数据项。DataList 与 GridView相比不支持排序,分页功能。
适用场景:DataList 一般适用于显示“单列多行”关系的数据,例如用于显示产品列表,每一个ListItem显示一件产品的信息,你可以为ListItem 定义自己需要的格式。
3. Repeater 控件
Repeater Web 服务器控件是一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表。Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局。当该页运行时,Repeater 控件依次通过数据源中的记录,并为每个记录呈现一个项,并且在客户端不会生出多余的HTML代码,所以可以使用该控件来生成Rss、Atom的XML格式 来发布新闻信息等。
Repeater 控件与上述2 个控件相比显得最为单薄,Repeater 一般用于只读的数据,对数据呈现的列表不具备编辑,排序,分页等功能。
适用场景
功能非常单薄,它使用数据源返回的一组记录呈现只读列表。
三控件使用场景的比较:GridView常用于多行多列的数据展示,DataList常用于多行一列数据的展示,而Repeater控件常用也多行一列或一行多列数据的展示。
三控件使用效率的比较:GridView使用效率最低,DataList比GridView最高,而Repeater控件最高。
三控件内置功能的比较:GridView内置功能丰富,能够进行分页,而DataList次之,不能够进行分页,而Repeater控件内置的东西最少,也不能够进行分页。
4: DataList和Repeater控件的比较
GridView控件显示数据时在每个单元中显示一份信息(例如,员工6的名)。ASP.NET2.0提供了另一种选择,在一个表格单元中显示一条 记录的所有字段(在一个字段中显示员工6的名、姓、ID和雇佣日期等所有信息)。有两个数据绑定控件在每个表格单元中显示一条记录:DataList和 Repeater控件。两种之间惟一的差别是DataList控件有默认的格式和模板,而Repeater控件需要设计人员进行较多的设置。
创建DataList控件类似于创建GridView控件。可以从工具条拖放该数据绑定控件并让VWD带领您创建一个新的数据源控件,或者可 以手动添加数据源控件,然后创建该数据绑定控件。DataList控件的属性支持设置Layout Repeat Direction功能,从而使得记录可以在水平方向或垂直方向上增长,列的数量也一样。使用RepeatColomns属性可以进行布局列的数目,使用 RepeatDirection属性来设定布局的方向。
模板使得您可以设置表格单元丙的空间。例如,如果希望在每个DataList单元中显示一组不同的字段么可以修改模板将表格单元的背景修改为粉红色或者为每个表格单元添加一个标记,那后面的练习将带领您修改模板。
模板的意义很重大,但有些地方容易让人混淆。首先,模板本身不显示数据。相反,模板包含了实际显示数据的数据绑定控件,例如标签。其次,对于 一个特定的空间有多个模板。DataList控件的一个单元可以具有Item Template(普通的数据显示)、Alternating ItemTemplate(每隔一条记录使用相同的颜色)、Selected Template(当选中数据时改变外观)和EditItem Template(在编辑的过程中改变外观)。每个模板都是单独设计的,如您在后面所见。第三个让人混淆的地方是为了修改模板必须进入特定模板的编辑模 式;不能在Design View中通过选择和修改字段而改变模板。在编辑模板之后必须显式地结束模板的编辑模式。最后,ASP.NET 2.0在模板的内容中使用了术语style(样式)。样式主要为外观提供属性(颜色、边界等)。如果在样式和模板中同时设置了颜色和边界,则以模板中的为 准。这看起来像是一项充满危险的技术,但一旦使用了模板之后,您将发现模板的功能非常强大。
在理解了模板之后,我们可以回顾前面的介绍并做两个说明。首先,在GridView控件中仍然可以使用模板,而且使用方式相同。其次,DataList控 件和Repeater控件之间的区别在于DataLi st控件有一组默认的模板,而Repeater控件是一个空白区域,必须在这个区域中创建各种模板。
Repeater, DataList, 和GridView控件的区别的更多相关文章
- GridView控件 Reapter控件 DataList控件 的区别和用法
ASP.NET三大控件: 1.GridView控件:表格视图控件,可以用来绑定结果集或者视图,用起来比较方便和灵活,三个控件中使用最多的控件 用法--- this.gridview1.DataSour ...
- Repeater, DataList, 和GridView的区别及使用
从对象层次图可以看出,Repeater是最轻最小的控件,它仅仅继承了基本控件的功能,包括ID属性.子控件集合等.另一方面,DataList和DataGrid则继承了WebControl功能,包括样式和 ...
- 数据绑定技术一:GridView控件
在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 ...
- .NET 几种数据绑定控件的区别
GridView 控件 GridView 控件以表的形式显示数据,并提供对列进行排序.分页.翻阅数据以及编辑或删除单个记录的功能. 特征:一行一条记录,就像新闻列表一样:带分页功能. DataList ...
- ASP.NET中GridView控件删除数据的两种方法
今天在用GridView控件时,发现了一个问题,就是使用GridView控件在删除数据时的问题.接下来我们通过模板列方式和CommandField方式删除某条数据讲解下两者之间的区别. 方式一:通 ...
- 027. asp.net中数据绑定控件之 GridView控件
GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...
- GridView控件
GridView是ASP.NET 1.x的DataGrid控件的后继者.它提供了同样的基本功能集,同一时候添加�了大量扩展和改进.如前所述,DataGrid(ASP.NET 2.0仍然全然支持)是一个 ...
- Android入门2:从GridView控件使用到自定义Adapter
在日常手机app的使用中,出现频率最高的便是ListView和GridView.ListView的例子是微信主界面,而GridView的例子则是支付宝的主界面,不明白的小伙伴打开手机便一目了然.然而这 ...
- 禁用GridView控件前5行记录
禁用GridView控件前5行记录. 应该在GridView控件写OnRowDataBound事件: 如果你只想禁用删除铵钮的话: 网页运行效果: 如果你想把整行禁用的话,可以这样写: 运行效果: 禁 ...
随机推荐
- C#学习笔记之线程 - 通知Signal
通知事件等待句柄 Signal With EventWaitHandle 事件等待句柄常用于通知.当一个线程等待直到接收到另外一个线程发出的信号.事件等待句柄是最简单的信号结构,它与C#事件无关.有三 ...
- [Bootstrap]全局样式(一)
页面必须设置为html5文档类型 <!DOCTYPE html> <html lang="zh-CN"> ... </html> 适应移动设备 ...
- Source Insight 技巧总结
以下文章转载自网络:http://blog.csdn.net/junjie319/article/details/6910992 http://www.cnblogs.com/bluestorm/ar ...
- Poj OpenJudge 百练 2602 Superlong sums
1.Link: http://poj.org/problem?id=2602 http://bailian.openjudge.cn/practice/2602/ 2.Content: Superlo ...
- [转]C#发送Email邮件 (实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用:using System.Net.Mail;using System.Text;using System.Net; 程序 ...
- ajaxFileUpload - Post file and data together
jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUploadFrame' ...
- android studio引入第三方包记录
1.添加jar文件 将jar文件复制至app module目录下的libs文件夹下,然后打开app module目录下的build.gradle配置文件,在dependencies项中添加配置命令,这 ...
- sqlsever2008及以上各个安装包的说明
LocalDB (SqlLocalDB)LocalDB 是 Express 的一种轻型版本,该版本具备所有可编程性功能,但在用户模式下运行,并且具有快速的零配置安装和必备组件要求较少的特点.如果您需要 ...
- C# 学习之旅(2)--- 意外的收获
今天在完成老师布置的C#作业(计算一元二次方程的根)的时候,收获到意外的知识,所以写此博文予以记录. 意外收获为: 对文本框的输入值进行检测,使之按照要求格式输入. 下面是整个的源代码: using ...
- Spark Streaming揭秘 Day31 集群模式下SparkStreaming日志分析(续)
Spark Streaming揭秘 Day31 集群模式下SparkStreaming日志分析(续) 今天延续昨天的内容,主要对为什么一个处理会分解成多个Job执行进行解析. 让我们跟踪下Job调用过 ...