点击这里给我发消息 点击这里给我发消息

网络编程:简单共同分页

添加时间:2013-12-7
    相关阅读: 网页 数据库 网络
    编程经常遇到分页问题做个通用的简单分页的类:想法是通过数据库里查出的总行数得到总的页数,然后通过把当前页作为参数传进方法得到数据开始的位置和结束位置。这样就可以通过语句得到想要的数据同过集合显示到网页里就可以了。

/*功能描述:
 * 实现分页功能
 * 
 *  主要属性:
 *          当前页、总页数、总行数、一页显示的行数;分别为
 *    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;
 }

 }
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册