编程经常遇到分页问题做个通用的简单分页的类:想法是通过数据库里查出的总行数得到总的页数,然后通过把当前页作为参数传进方法得到数据开始的位置和结束位置。这样就可以通过语句得到想要的数据同过集合显示到网页里就可以了。
/*功能描述:
* 实现分页功能
*
* 主要属性:
* 当前页、总页数、总行数、一页显示的行数;分别为
* pange , allpage, cont, pagerow
* 主要方法:
* setCont方法:设置总行数并得到总页数
* getAllpate方法:返回总页数
* getFirstpage方法:返回第一页
* getLastpage方法:最后一页
* getUppage方法:向前翻页
* getDownpage方法:向后翻页
*
* 使用方法:
* 1:调用 setCont方法:设置总行数并得到总页数
* 2: 调用setPagerows(int pagerows)//设置一页显示的行数也可以不用(默认5行)
* 3: 调用 getAllpate方法:返回总页数
* 4:如果要返回第一页或最后页调用:getFirstpage()或getLastpage()
* 调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
* 5:如果向前翻页调用:getUppage(int page)page代表传过来的当前页的页码然后在调用
* 调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
* 6:如果向后翻页调用:getUppage(int page)page代表传过来的当前页的页码然后在调用
* 调用 getStrdata() 获得数据开始位置; 调用 getEnddata() 获得数据结束位置
* */
package whw.function;
public class Pageupdown
{
int pange;//当前页
int allpage;//总页数
int cont;//总行数
int pagerows=5;//一页要显示的行数;5
int strdata;//开始数据
int enddata;//结束数据
//**************************************************
public void setCont(int cont)//设置总行数并得到总页数
{
this.cont = cont;
if(cont>0 && pagerows>0)
{
int temp=cont/pagerows;
int temp2=cont%pagerows;
if(temp2>0)
{
temp++;
}
allpage=temp;
}
}
//***************************************************
public int getAllpage()//返回总页数
{
return allpage;
}
//******************************************************
public void getFirstpage()//第一页
{
strdata=1;//开始位置
enddata=pagerows;//结束位置
}
//*******************************************************
public void getLastpage()//最后一页
{
strdata=(allpage-1)*pagerows+1;//开始位置
enddata=cont;//结束位置
}
//*********************************************************
public void getUppage(int page)//向前翻页
{
if(page<=1)
{
page=1;
}
else
{
page--;
}
strdata=(page-1)*pagerows+1;//开始位置
enddata=pagerows*page;//结束位置
}
//*********************************************************
public void getDownpage(int page)//向后翻页
{
if(page>=allpage)
{
page=allpage;
}
else
{
page++;
}
strdata=(page-1)*pagerows+1;//开始位置
enddata=pagerows*page;//结束位置
if(enddata>cont)
{
enddata=cont;
}
}
public int getEnddata()
{
return enddata;
}
public int getStrdata()
{
return strdata;
}
//***************************************************
public void setPagerows(int pagerows)//设置一页显示的行数
{
this.pagerows = pagerows;
}
}