简单共同分页

编程经常遇到分页问题做个通用的简单分页的类:想法是通过数据库里查出的总行数得到总的页数,然后通过把当前页作为参数传进方法得到数据开始的位置和结束位置。这样就可以通过语句得到想要的数据同过集合显示到网页里就可以了。
/*功能描述:
* 实现分页功能
*  主要属性:
*          当前页、总页数、总行数、一页显示的行数;分别为
*    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;
    }

}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值