利用sda分页的问题,上次在网络上看到的一个解释,是有道理的,不过有一个误区,就是它是基于0开始的,
也就是说你要显示1-10条数据的时候,就得写sda.Fill(ds,0,10,tablename),其中,ds表示你要填充的数据集,而0就表示你要开始的记录(基于0开始),10表示你这一页最多显示的记录,tablename表示你要填充的临时表。
而如何获得具体的第几页就可以通过以完成:
1、得出总的记录数,total 2、设置每页显示的数目:pagesize
总页数为totalpage= total/pagesize==0?total/pagesize:total/pagesize+1
3.第几页从第几条开始显示记录:要判断给定的页数index,如果index大于totalpage的话,就显示最后一页的内容,即:
开始的记录算法为:(totalpage-1)×pagesize 例如一共三页,是从(3-1)*10=20开始的,其实是21条到30,但是它基于0的。如果index<totalpage的话,就用(index-1)*pagesize 可以了。。
回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}