定义两个vector,一个为储存查询所有记录的totalv,另一个储存当前页的记录currentpagev;
总的记录数:int totalsize = totalv.getsize();
每页显示的记录数:int countperpage;
总页数:int totalpagenum = totalsize/countperpage;
//如果总的记录数和每页记录数的余数大于零,
//那么总的页数为他们的整除结果加一
if (totalsize%countperpage > 0 ){
totalpagenum = totalsize/countperpage + 1;
}
当前的页数:pagenum;
for (int j = 0;j<totalv.size();j++){
//分页,根据当前的页数和每页显示的记录数从totalv中取出记录
//往currentpagev中添加记录;
//如果当前记录在(当前页码-1)*每页显示记录数(包括等于)
//和 当前页码*每页显示记录数(不包括等于)之间的时候;
//就属于该页的数据
if ( (j >= (pagenum - 1) * countperpage) && (j < pagenum * countperpage)) {
currentpagev.addelement(totalv.get(j));
}
//当currentpagev记录数等于每页显示记录数,
//停止往currentpagev中添加记录
if (currentpagev.size() == countperpage) {
break;
}
}
那么,当前页中显示的记录,就是currentpagev中的记录。