java中实现分页功能

来源:互联网 发布:淘宝115会员怎么搜索 编辑:程序博客网 时间:2024/06/06 03:48
package swing.login;


import java.util.Vector;
//传入一个大的集合,取出一个小的集合
public class PageController {
private Vector<Vector<String>> bigv ;//定义一个大的集合,装载传过来的所有数据
private Vector<Vector<String>> smallv = new Vector<Vector<String>>();//定义一个小集合,装载需要查询到的数据
private static int curentPageIndex = 1;//设置当前页数为第一页
private int countPerpage;//每页显示的数据条数
private int pageCount;//总页数


public PageController(){

}
//定义带参的构造方法,可传入要分页显示的数据以及每页显示的条数
public PageController(Vector<Vector<String>> v,int countPerpage){
this.bigv = v;//this.bigv = new EmpinfoDAO().select3();
this.countPerpage = countPerpage;//传入每页显示的数据条数
if(bigv.size()%countPerpage==0){//设置页数
this.pageCount = bigv.size()/countPerpage;
}else{
this.pageCount = (bigv.size()/countPerpage)+1;
}
}//
//首页
public Vector<Vector<String>> setCurentPageIndex(){
curentPageIndex =  1;
return select();
}
//上一页
public Vector<Vector<String>> previousPage(){
if(curentPageIndex > 1){
curentPageIndex--;
//System.out.println("当前页:"+curentPageIndex);
}
return select();
}//
//下一页
public Vector<Vector<String>> nextPage(){
if(curentPageIndex < pageCount){
curentPageIndex++;
//System.out.println("当前页:"+curentPageIndex);
}
return select();
}//
//末页
public Vector<Vector<String>> lastPage(){
curentPageIndex =  pageCount;
return select();
}//
//根据当前页,筛选记录
public Vector<Vector<String>> select(){
//i从上一页的最后一条开始(不包括最后一条,即本页的第一条),i<本页数*每页显示的条数并且要小于总的条数
for(int i = (curentPageIndex - 1 )*countPerpage;i<curentPageIndex*countPerpage&&i<bigv.size();i++){
smallv.add(bigv.get(i));
}
return smallv;
}//
}
0 0
原创粉丝点击