内容转自:
http://www.2cto.com/database/201212/180143.html
数据分页时每页首条记录索引如何计算
现在有8条数据,
数据库
中第一条索引是0,也就是每条数据的
索引分别是0,1,2,3,4,5,6,7 。
现在要求每页是2条也就是pagesize = 2,当前页为currentPage。
模拟分页:0 1 | 2 3 | 4 5 | 6 7
第1页currentPage = 1,pagesize = 2,首条记录索引为0,(1 - 1) * 2
第2页currentPage = 2,pagesize = 2,首条记录索引为2,(2 - 1) * 2
第3页currentPage = 3,pagesize = 2,首条记录索引为4,(3 - 1) * 2
第4页currentPage = 4,pagesize = 2,首条记录索引为6,(4 - 1) * 2
可以得到
start = (currentPage - 1) * pageSize
【当然还少不了end咯,从这里来看。。。
end应该是2*currentpage-1
第一页的end是2*1-1
第2页的end是2*2-1
....
以此类推。。。。
但我看到的分页代码里是
public int EndIndex(){
int endIndex=this.CurrentPage*PageSize;
if(endIndex>TotalSize){
endIndex=TotalSize;
}
return endIndex;
}
是,就没有“-1”这么一说。修改后,运行程序,在网页中也没有什么问题....
不知道是为什么?---》
有必要再研究研究。。。。
望知道的朋友给讲讲,谢谢啦!(*^__^*) 】