2004-5-12+ 用DataSet实现分页
大家还记得以前asp中recordset那方便易用的分页功能吗?pagesize,absolutepage,pagecount这些属性的存在大大的方便了页面的编排。而asp.net的DataSet却没有提供相应的方法来进行分页。不过,通过简单的程序,也可以让DataSet实现分页功能。
先来回忆一下recordset是怎么分页的,先是把数据放在recordset里面,然后设定pagesize,和pagecount的值,这样recordset就会自动把自己存放的数据按段进行划分,然后根据absolutepage的值来决定当前页是显示哪一段数据。
在asp.net中,通过DataSet来完成上面的程序也很简单,同样是先把数据库里的数据分段,然后分次存到DataSet中。其中关键是怎么实现分次存储,DataAdapter的Fill方法有一个重载的用法:Fill(DataSet,int,int,string),中间的两个int分别是数据表中记录开始的地方和要存储的记录数,通过这个方法就可以完成这个工作。
int pagesize=8;//每页要显示的记录数
int absolutepage=1;//要设定的当前页
//计算当前页
if(Request["page"]!=null){
absolutepage=Int32.Parse(Request["page"]);
}
int pagecount;//总页数
int rowstart;//数据库中分段记录开始的地方
//计算总记录数
ada.Fill(ds,"counts");
int rowcount=ds.Tables["counts"].Rows.Count;
//计算总页数
int n=rowcount/pagesize;
if(rowcount==pagesize*n)
pagecount=n;
else
pagecount=n+1;
//计算记录开始数,也就是分段的起始部分
rowstart=pagesize*(absolutepage-1);
//把当前的记录段内的记录填加到DataSet中,然后就把数据绑定到某个容器控件,比如Repeater和DataList
ada.Fill(ds,rowstart,pagesize,"dtmemberx");
//用来显示每一页的连接,这个可以放到一个label里面
StringBuilder sb=new StringBuilder();
for(int i=1;i<=pagecount;i++){
sb.Append("--<a href='?page=");
sb.Append(i);
sb.Append("'>");
sb.Append(i);
sb.Append("</a>--");
}
//用来显示每一页的连接,这个可以放到一个DropDownList里面
ArrayList al=new ArrayList();
for(int i=1;i<=pagecount;i++){
al.Add(i);
}
上面就是程序的主要部分。一步步的做下来,其中原本在asp中由recordset自动完成的事情,在这里变成由我们自己完成。最后提供了两个页和页之间连接的方法。
2004-5-12+ 用DataSet实现分页相关推荐
- 中国大陆 TOP 500 网站排行榜( 2004 年 12 月Alexa 过滤版)
2004 年 12 月进入 Alexa 网站 TOP500 的中国大陆网站共计 122 家.依据<
- MyBatis学习总结(12)——Mybatis+Mysql分页查询
package cn.tsjinrong.fastfile.util; /** * @ClassName: Page * @Description: TODO(分页组件的父类,用来封装分页的 通用 ...
- elasticsearch7.12 agg分组聚合分页同段同句查询
pom 引入依赖: <!-- elasticsearch 7.16 --> <dependency><groupId>org.springframework.boo ...
- Django 基础(12)-Django drf 分页查询(批量查询)、自定义分页器
文章目录 Django drf 分页查询(批量查询) PageNumberPagination:普通分页 Django 自定义分页器 自定义批量查询的返回结构 LimitOffsetPaginatio ...
- ASP.NET分页方法的了解程度
ASP.NET分页方法的了解程度 [出现频率] ★★★★☆ [解答] ASP.NET分页的常用方法有以下几种. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowP ...
- asp.net分页方法
ASP.NET分页的是我们在编程过程中遇到的常见问题,下面就这个问题说下添美的看法. q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowPaging"属性 ...
- Asp.Net之分页查询
一.NewList.aspx代码 主要是查看<div id="content_column">中的内容 <%@ Page Language="C#&qu ...
- TensorFlow数据读取方式:Dataset API,以及如何查看dataset:DatasetV1Adapter的方法
TensorFlow数据读取方式:Dataset API Datasets:一种为TensorFlow 模型创建输入管道的新方式.把数组.元组.张量等转换成DatasetV1Adapter格式 Dat ...
- Linux的内存分页管理
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载 内存是计算机的主存储器.内存为进程开辟出进程空间,让进程在其中保存数据.我将从内存的物理特性出发,深入到内存 ...
最新文章
- 2021年大数据常用语言Scala(三十一):scala面向对象 特质(trait)
- java实现简易客户信息管理系统
- Tomcat系统架构
- MySQL中(delete、truncate、drop) 的区别
- 二进制文件mysql创表_MySQL_MYSQL中如何存取二进制文件,首先创建测试表testtable CREATE TA - phpStudy...
- 判断字符串最后两个字符
- java struts 拦截器_java框架篇---struts实现拦截器
- ureport 显示html,UReport2 与业务结合
- AUTOCAD——直线命令
- matlab irandon函数,在路上●我的年青●悠忽两年
- 我的原创IT著作再次被中科院图书馆、国图等国家级学术机构收藏!
- 使用微擎 微赞 微信登陆遇到redirect_uri 参数错误的设置办法
- 计算机上DEL和INS怎么转换,HGVS命名之【缺失插入】Deletion-insertion (delins/indel)
- 自媒体平台数据统计分析爬虫之【趣头条】模拟登陆分析详解及数据统计接口详解
- 从零开始学微信小程序开发:1
- 什么是函数的副作用——理解js编程中函数的副作用
- HTML-12:超链接锚点定位
- 解读最佳实践:倚天710 ARM芯片的 Python+AI 算力优化
- (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
- 关于SCI正刊与专刊以及增刊的区别