DataList 控件 和 Repeater 控件 轻松分页小结
来源:互联网 发布:分配网络地址 linux 编辑:程序博客网 时间:2024/06/05 14:41
这里我给大家简单介绍一个具有分页功能的.NET类----PagedDataSource类。
下面是MSDN对PagedDataSource的解释
封装数据绑定控件(如 DataGrid、GridView、DetailsView 和FormView)的与分页相关的属性,以允许该控件执行分页操作。
无法继承此类。
—MSDN Library – visual Studio 2008
从上面的定义,我们可以看出,我们可以利用PagedDataSource类对DataList 和Repeater 进行分页操作。
我们先来了解几个常用属性:
名称
说明
AllowPaging
获取或设置一个值,指示是否在数据绑定控件中启用分页。(重要)
CurrentPageIndex
获取或设置当前页的索引。 (重要)
DataSource
获取或设置数据源。 (重要)
FirstIndexInPage
获取页面中显示的首条记录的索引。
IsFirstPage
获取一个值,该值指示当前页是否是首页。
IsLastPage
获取一个值,该值指示当前页是否是最后一页。
PageCount
获取显示数据源中的所有项所需要的总页数。 (重要,如:末页)
PageSize
获取或设置要在单页上显示的项数。(每页显示几条记录)
看过了上面几个属性,我来讲讲PagedDataSource是如何分页的:
先设置好分页的显示标签和链接按钮:
(标签和按钮的作用是用来存放一个值,好用来给PagedDataSource.CurrentPageIndex赋值)
如下图所示:
假设下面的图片示意从数据库读取数据并绑定后显示出来的所有数据:
总共4条数据。
如果要进行每页只显示 2 条记录,如下图所示:
那么只要设PagedDataSource类的CurrentPageIndex = 2 就可以了。
所以,在上图中的 首页 上一页 2 3 4 下一页 末页,都是通过对CurrentPageIndex值的改变来达到的效果。
我们简单来看看这个编程的过程(具体代码就不用写了,网上很多,大家搜索一下就可以找到很多):
第一步,你需要一个DataSet ds = new DataSet(); 来保存你要所查询出来的内容。
第二步,声明一个PagedDataSource pds = new PagedDataSource();并实例化它。
第三步,设置PagedDataSource的相关属性:
pds.DataSource=ds.Tables["XXXX"].DefaultView; //将上面你查询出来的内容绑定给PagedDatasource的实例。
pds.AllowPaging=true;//启用这个实例的分页功能
pds.PageSize=2; //这里设置每页显示几条记录
pds.CurrentPageIndex=0 // 设置当前分页的索引值,该值从0开始。
为了更好的控制 CurrentPageIndex 值的改变,一般是通过数据的存储来改变的。如上面我就通过对 Lable标记的使用来存放值的。
int current =Convert.ToInt32(Label1.Text) – 1;
pds.CurrentPageIndex=current;
也可以写成一行:
pds.CurrentPageIndex= Convert.ToInt32(Convert.ToInt32(Label1.Text)-1);
最后,当你单击首页 上一页 2 3 4 下一页 末页 的任何一个时候,只要为CurrentPageIndex赋上相应的值,并重新绑定值就可以进行翻页了。
总结:
分页主要是对PagedDataSource这个类的使用来做的,只要理解了PagedDataSource 这几个重要属性,页面上分页的样式你想做成什么样的效果都能实现。
但是由于每次翻页都会重新在数据中查询一次 有点消耗资源,更好的解决方案希望会的朋友多多指教。
【参考徐老师的课程的小结】
- DataList 控件 和 Repeater 控件 轻松分页小结
- Repeater(DataList)控件分页例子
- Datalist控件,Repeater控件如何分页?
- PagedDataSource类实现DataList和Repeater控件的分页显示
- Repeater(DataList)控件的分页方法
- 实现 DataList 或 Repeater 控件的分页
- DataList或Repeater控件的分页
- 改进型分页控件,用于 DataGrid,DataList,Repeater 控件分页操作
- ASP.NET中Repeater控件和DataList控件通用的分页类
- Repeater和DataList控件也玩分布
- ASP.NET的DataList和Repeater控件
- Repeater控件、DataList控件套用
- 使用PagedDataSource类实现DataList和Repeater控件的分页显示
- 使用PagedDataSource类实现DataList和Repeater控件的分页显示
- 使用PagedDataSource类实现DataList和Repeater控件的分页显示
- [转]用PagedDataSource类实现DataList和Repeater控件的分页显示
- 使用PagedDataSource类实现DataList和Repeater控件的分页显示
- 使用PagedDataSource类实现DataList和Repeater控件的分页显示功能
- This is a test
- 【Stones from other hills】Code Review中的几个提示
- 求助一循环求解的问题,急
- coolite+mvc面临抉择
- 利用 vimtutor 快速学习 gvim
- DataList 控件 和 Repeater 控件 轻松分页小结
- Google Treasure Hunt 2008 Question:Primes
- 如何在WinCE中添加快捷方式
- 使用Matplotlib画洛伦兹吸引子
- 关于使用ADOQUERY查询后报E_FAIL错误
- 在ubuntu 下美化eclipse,myeclipse
- .net弹出提示框无刷新
- 【转】谈谈高速数字系统的滤波电容
- Flash图片处理—颜色变换