posts - 0,comments - 0,trackbacks - 0

 

  1/**
  2 * 实现简单分页功能。
  3 * <p>Title: </p>
  4 * <p>Description: </p>
  5 * <p>Copyright: Copyright (c) 2005</p>
  6 * <p>Company: </p>
  7 * @author JekLin
  8 * @version 1.0
  9 */

 10public class Pagination
 11    implements java.io.Serializable {
 12  private int pageLeng = 1//每一页长度
 13  private int totalPage; //总页数
 14  private int pageNum = 0//当前页数
 15  private ArrayList table; //用来做分数据表
 16  private ArrayList alist = new ArrayList();
 17  public Pagination() {
 18
 19  }

 20
 21  public Pagination(ArrayList table) {
 22    this.table = table;
 23    this.info();
 24  }

 25
 26  private void info() //分析数据表
 27    if (this.table != null{
 28      int rows = table.size();
 29      this.totalPage = rows / pageLeng; //设置总页数
 30      if (rows % pageLeng != 0{
 31        this.totalPage++;
 32      }

 33      ArrayList aList = new ArrayList();
 34      for (int i = 0; i < rows; i++{
 35        aList.add(table.get(i));
 36      }

 37      this.alist = aList;
 38
 39    }

 40  }

 41
 42  /**
 43   * 所有行数量
 44   * @return int
 45   */

 46  public int getRows() {
 47    if (table == null{
 48      return -1;
 49    }

 50    return this.table.size();
 51  }

 52
 53  /**
 54   *
 55   * @param table ArrayList
 56   */

 57  public void setTable(ArrayList table) {
 58    this.table = table;
 59    this.info();
 60
 61  }

 62
 63  /**
 64   * 每一页长度
 65   * @return int
 66   */

 67  public int getPageLeng() {
 68    return this.pageLeng;
 69  }

 70
 71  public void setPageLeng(int pageLeng) {
 72    this.pageLeng = pageLeng;
 73  }

 74
 75  /**
 76   * 总页数
 77   * @return int
 78   */

 79  public int getTotalPage() {
 80    return this.totalPage;
 81  }

 82
 83  /**
 84   * 当前页数
 85   * @return int
 86   */

 87  public int getPageNum() {
 88    return this.pageNum;
 89  }

 90
 91  /**
 92   * 首页
 93   * @return ArrayList
 94   */

 95  public ArrayList getFirst() {
 96    ArrayList aList = new ArrayList();
 97    for (int i = 0; i < this.pageLeng; i++{
 98      if (i < alist.size()) {
 99        aList.add(alist.get(i));
100      }

101    }

102    this.pageNum = 1;
103    return aList;
104  }

105
106  /**
107   * 上一页
108   * @return ArrayList
109   */

110  public ArrayList getRrevious() {
111    ArrayList aList = new ArrayList();
112    if (pageNum == 1{
113      return this.getFirst();
114    }

115    for (int i = (pageNum - 2* pageLeng; i < (pageNum - 1* pageLeng; i++{
116      if (i < alist.size()) {
117        aList.add(alist.get(i));
118      }

119    }

120    pageNum--;
121    return aList;
122  }

123
124  /**
125   * 下一页
126   * @return ArrayList
127   */

128  public ArrayList getNext() {
129    ArrayList aList = new ArrayList();
130    if (pageNum == totalPage) {
131      return this.getLast();
132    }

133    for (int i = pageNum * pageLeng; i < (pageNum + 1* pageLeng; i++{
134      if (i < alist.size()) {
135        aList.add(alist.get(i));
136      }

137    }

138    pageNum++;
139    return aList;
140  }

141
142  /**
143   * 最后一页
144   * @return ArrayList
145   */

146  public ArrayList getLast() {
147    ArrayList aList = new ArrayList();
148    for (int i = (totalPage - 1* pageLeng; i < totalPage * pageLeng; i++{
149      if (i < alist.size()) {
150        aList.add(alist.get(i));
151
152      }

153    }

154    this.pageNum = this.totalPage;
155    return aList;
156  }

157
158  /**
159   * 根基页码跳转
160   * @param num int
161   * @return ArrayList
162   */

163  public ArrayList getForPageNum(int num) {
164    ArrayList aList = new ArrayList();
165    if (alist != null && alist.size() <= 0{
166      return aList;
167    }

168    for (int i = (num - 1* pageLeng; i < num * pageLeng; i++{
169      if (i < alist.size()) {
170        aList.add(alist.get(i));
171      }

172    }

173    this.pageNum = num;
174    return aList;
175  }

176
177  /**
178   * 是否为第一页
179   * @return boolean
180   */

181  public boolean isFirst() {
182    if (this.pageNum <= 1{
183      return true;
184    }

185    return false;
186  }

187
188  /**
189   * 是否为最后一页
190   * @return boolean
191   */

192  public boolean isLast() {
193    if (this.pageNum >= this.totalPage) {
194      return true;
195    }

196    return false;
197  }

198
199}

200
201
posted on 2006-02-19 23:17 JekLin 阅读(275) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问