定義兩個(gè)vector,一個(gè)為儲(chǔ)存查詢所有記錄的totalv,另一個(gè)儲(chǔ)存當(dāng)前頁(yè)的記錄currentpagev;
總的記錄數(shù):int totalsize = totalv.getsize();
每頁(yè)顯示的記錄數(shù):int countperpage;
總頁(yè)數(shù):int totalpagenum = totalsize/countperpage;
//如果總的記錄數(shù)和每頁(yè)記錄數(shù)的余數(shù)大于零,
//那么總的頁(yè)數(shù)為他們的整除結(jié)果加一
if (totalsize%countperpage > 0 ){
totalpagenum = totalsize/countperpage + 1;
}
當(dāng)前的頁(yè)數(shù):pagenum;
for (int j = 0;j<totalv.size();j++){
//分頁(yè),根據(jù)當(dāng)前的頁(yè)數(shù)和每頁(yè)顯示的記錄數(shù)從totalv中取出記錄
//往currentpagev中添加記錄;
//如果當(dāng)前記錄在(當(dāng)前頁(yè)碼-1)*每頁(yè)顯示記錄數(shù)(包括等于)
//和 當(dāng)前頁(yè)碼*每頁(yè)顯示記錄數(shù)(不包括等于)之間的時(shí)候;
//就屬于該頁(yè)的數(shù)據(jù)
if ( (j >= (pagenum - 1) * countperpage) && (j < pagenum * countperpage)) {
currentpagev.addelement(totalv.get(j));
}
//當(dāng)currentpagev記錄數(shù)等于每頁(yè)顯示記錄數(shù),
//停止往currentpagev中添加記錄
if (currentpagev.size() == countperpage) {
break;
}
}
那么,當(dāng)前頁(yè)中顯示的記錄,就是currentpagev中的記錄。