posts - 0,comments - 0,trackbacks - 0

           

            1/**
            2 * 實(shí)現(xiàn)簡單分頁功能。
            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; //總頁數(shù)
           14  private int pageNum = 0//當(dāng)前頁數(shù)
           15  private ArrayList table; //用來做分?jǐn)?shù)據(jù)表
           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() //分析數(shù)據(jù)表
           27    if (this.table != null{
           28      int rows = table.size();
           29      this.totalPage = rows / pageLeng; //設(shè)置總頁數(shù)
           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   * 所有行數(shù)量
           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   * 總頁數(shù)
           77   * @return int
           78   */

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

           82
           83  /**
           84   * 當(dāng)前頁數(shù)
           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   * 根基頁碼跳轉(zhuǎn)
          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 閱讀(278) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 萨迦县| 张家界市| 鹤山市| 高清| 徐闻县| 海晏县| 和林格尔县| 宁河县| 麻江县| 巴塘县| 通道| 拉萨市| 桑日县| 沽源县| 乌恰县| 堆龙德庆县| 吉木乃县| 贵南县| 长垣县| 牙克石市| 奇台县| 姚安县| 永嘉县| 龙游县| 晴隆县| 龙门县| 浮山县| 色达县| 阜新市| 廉江市| 毕节市| 容城县| 巨鹿县| 东阿县| 东方市| 绵竹市| 申扎县| 鹤山市| 德江县| 东山县| 枣庄市|