c# 怎样取文本记录数 5
1个回答
展开全部
因为currentpage是一个变量,用他来计数的,每翻一页相应的currentpage的数要减少一的,所以要减1的。
你在写分页的时候需要定义几个变量来存储信息
1、总的记录数
2、单页要显示的记录数
3、分成的页面的数量
4、当前页面的页号
5、偏移量
下面来详细分析一下这几个变量
1、总的记录数
这个变量的值来源于系统,也就是说实际你所拥有的纪录的总数,这个没有什么好说的,可以从数据库或文本统计来的。
2、单页要显示的记录数
这个变量的值来源于用户,值的多少是由用户所给的,也没有什么好说的
3、分成的页面的数量
这个变量的值是需要计算的。计算的方法是(计算的方法有2种)
方法一:
情况一:
如果:(总的记录数%单页要显示的记录数)=0
那么:分成的页面的数量=总的记录数/单页要显示的记录数
举个例子,比如你有10条纪录,想要每一个页面5条纪录,那么分成的页面数量就是10/5=2
情况二:
如果:(总的记录数%单页要显示的记录数)!=0
那么:分成的页面的数量=[(总的记录数-(总的记录数%单页要显示的记录数))/单页要显示的记录数]+1
举个例子,比如你有11条纪录,想要每一个页面5条纪录,那么分成的页面数量就是:[(11-(11%5))/5]+1=3
方法二:
可以把方法一中的两种情况整合在一起
分成的页面的数量=取整数部分((总的记录数+单页要显示的记录数-1)/单页要显示的记录数)
来验证一下:
(10+5-1)/5=2.8 ,2.8取整数就是2, 所以分成2页
(11+5-1)/5=3,3取整数还是3,所以分成3页
4、当前页面的页号
初始值设为1,在翻页的时候,当向前翻页的时候可以把值加1以后传递,当向后翻页把值减1后传递
5、偏移量
偏移量=当前页号*单页显示的记录数
偏移量主要是用来取纪录的
对于mysql在查询的时候提供了这样的一个附加参数:
limit 偏移量,单页显示的记录数
如果偏移量为0,也可以这样写
limit 单页显示的记录数
这样你在查询纪录的时候就非常方便了,利用这个附加的参数,你可以提取出来当前页的纪录,对于其他的没有这个附加参数的数据库或你自己写的用文本作为后台存储的情况下要自己来构造一个类似的功能
补充一下:
1,页面数 = ceil(总记录数 / 每页记录数);
2,如果页号从0开始,偏移量 = 当前页号 * 单页显示的记录数
如果页号从1开始,偏移量 = (当前页号 - 1) * 单页显示的记录数
基本上都是这个原理。看看能明白么?不明白再补充吧。
你在写分页的时候需要定义几个变量来存储信息
1、总的记录数
2、单页要显示的记录数
3、分成的页面的数量
4、当前页面的页号
5、偏移量
下面来详细分析一下这几个变量
1、总的记录数
这个变量的值来源于系统,也就是说实际你所拥有的纪录的总数,这个没有什么好说的,可以从数据库或文本统计来的。
2、单页要显示的记录数
这个变量的值来源于用户,值的多少是由用户所给的,也没有什么好说的
3、分成的页面的数量
这个变量的值是需要计算的。计算的方法是(计算的方法有2种)
方法一:
情况一:
如果:(总的记录数%单页要显示的记录数)=0
那么:分成的页面的数量=总的记录数/单页要显示的记录数
举个例子,比如你有10条纪录,想要每一个页面5条纪录,那么分成的页面数量就是10/5=2
情况二:
如果:(总的记录数%单页要显示的记录数)!=0
那么:分成的页面的数量=[(总的记录数-(总的记录数%单页要显示的记录数))/单页要显示的记录数]+1
举个例子,比如你有11条纪录,想要每一个页面5条纪录,那么分成的页面数量就是:[(11-(11%5))/5]+1=3
方法二:
可以把方法一中的两种情况整合在一起
分成的页面的数量=取整数部分((总的记录数+单页要显示的记录数-1)/单页要显示的记录数)
来验证一下:
(10+5-1)/5=2.8 ,2.8取整数就是2, 所以分成2页
(11+5-1)/5=3,3取整数还是3,所以分成3页
4、当前页面的页号
初始值设为1,在翻页的时候,当向前翻页的时候可以把值加1以后传递,当向后翻页把值减1后传递
5、偏移量
偏移量=当前页号*单页显示的记录数
偏移量主要是用来取纪录的
对于mysql在查询的时候提供了这样的一个附加参数:
limit 偏移量,单页显示的记录数
如果偏移量为0,也可以这样写
limit 单页显示的记录数
这样你在查询纪录的时候就非常方便了,利用这个附加的参数,你可以提取出来当前页的纪录,对于其他的没有这个附加参数的数据库或你自己写的用文本作为后台存储的情况下要自己来构造一个类似的功能
补充一下:
1,页面数 = ceil(总记录数 / 每页记录数);
2,如果页号从0开始,偏移量 = 当前页号 * 单页显示的记录数
如果页号从1开始,偏移量 = (当前页号 - 1) * 单页显示的记录数
基本上都是这个原理。看看能明白么?不明白再补充吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询