<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks

    在工作中需要一個翻頁效果,所以寫下了如下方法。實現了常用的翻頁效果,但代碼還沒有進行優化(缺點:不適合數據量大的情況,因為所有的記錄存在一個Vector變量中)貼出來供需要著參考一下!
    import java.util.*;

    public class Pages {
     int allRows;//所有的行數
     int currRow;//當前是第幾行
     int onePageRows;//一頁顯示多少行
     int allPages;//所有的頁數
     int currPage= 1;
     boolean firstPage= false;
     boolean lastPage= false;

     public Pages(int onePageRows) {
      this.onePageRows= onePageRows;
     }
    /*
       vector1 為所有的記錄
    */

     public Vector downPage(Vector vector1, int currPage) {
      Vector vector= new Vector();
      this.currPage= currPage;
      this.allRows= vector1.size();
      this.currRow= currPage * (this.onePageRows);
      int j= this.allRows % this.onePageRows;
      this.allPages= (this.allRows / this.onePageRows) + (j == 0 ? 0 : 1);
      this.currPage++;
      if (this.currPage < this.allPages) {
       this.lastPage= true;
      } else {
       this.lastPage= false;
      }
      this.firstPage= true;
      int i= 0;
      for (i= 0; i < this.onePageRows && currPage * this.onePageRows + i < this.allRows; i++) {
       vector.add(i, vector1.get(currRow + i));
      }
      this.currRow= this.currRow + i;
      return vector;
     }

     public Vector upPage(Vector vector1, int currPage) {
      Vector vector= new Vector();
      this.currPage= currPage;
      this.allRows= vector1.size();
      this.currRow= (currPage - 2) * (this.onePageRows);
      int j= this.allRows % this.onePageRows;
      this.allPages= (this.allRows / this.onePageRows) + (j == 0 ? 0 : 1);
      this.currPage--;
      if (this.currPage > 1) {
       this.firstPage= true;
      } else {
       this.firstPage= false;
      }
      this.lastPage= true;
      for (int i= 0; i < this.onePageRows; i++) {
       vector.add(i, vector1.get(this.currRow + i));
      }
      return vector;
     }
     public Vector firstPage(Vector vector1) {
      Vector vector= new Vector();
      this.allRows= vector1.size();
      this.currRow= this.onePageRows;
      int j= this.allRows % this.onePageRows;
      this.allPages= (this.allRows / this.onePageRows) + (j == 0 ? 0 : 1);
      this.firstPage= false;
      if (allPages > 1)
       this.lastPage= true;
      for (int i= 0; i < this.onePageRows && i < vector1.size(); i++) {
       vector.add(i, vector1.get(i));
      }
      return vector;
     }
     public Vector lastPage(Vector vector1) {
      Vector vector= new Vector();
      this.allRows= vector1.size();
      int j= this.allRows % this.onePageRows;
      this.allPages= (this.allRows / this.onePageRows) + (j == 0 ? 0 : 1);
      this.currPage= this.allPages;
      this.lastPage= false;
      if (allPages > 1)
       this.firstPage= true;
      int m= j == 0 ? this.onePageRows : this.allRows - (this.allPages - 1) * this.onePageRows;
      int n= m;
      for (int i= 0; i < m; i++) {
       vector.add(i, vector1.get(this.allRows - n));
       n--;
      }
      return vector;
     }

     public String getToolBar() {
      String form= "<form  id=\"form\" method=\"post\">";
      String table1= "<table align=\"center\" width=\"70%\"><tr><td>";
      String button1= "<input type=\"button\" value=\"首頁\" onClick=\"dealPage();\" id=\"firstPage\" />&nbsp;";
      String disabled= "disabled=";
      if (!this.firstPage)
       disabled= disabled + "disabled";
      else
       disabled= "";
      String button2= "<input type=\"button\" value=\"上頁\" id=\"upPage\" onClick=\"dealPage();\" " + disabled + " />&nbsp;";
      if (!this.lastPage)
       disabled= disabled + "disabled";
      else
       disabled= "";
      String button3= "<input type=\"button\" value=\"下頁\" id=\"downPage\" onClick=\"dealPage();\" " + disabled + " />&nbsp;";
      String button4= "<input type=\"button\" value=\"尾頁\"  id=\"lastPage\" onClick=\"dealPage();\"/>";
      String table2= "</td></tr><tr><td align=\"center\">";
      String table3= "共" + this.allRows + "行/第" + this.currPage + "頁/共" + this.allPages + "頁</td></tr></table></form>";
      String result= form + table1 + button1 + button2 + button3 + button4 + table2 + table3;
      return result;
     }
     
     public String getJavaScript() {
      StringBuffer result= new StringBuffer();
      if (this.getAllRows() > this.getOnePageRows()) {
       result.append("<SCRIPT language=JavaScript>");
       result.append("function dealPage(){");
       result.append("document.all.form.action=\"/mydomain/javaoa/selectqh.do?method=\"+event.srcElement.id+\"&currPage=");
       result.append(this.getCurrPage() + "&onePageRows=" + this.getOnePageRows() + "\";");
       result.append("document.all.form.submit();");
       result.append("}");
       result.append("</SCRIPT>");
      }
      return result.toString();
     }
     // public static void main(String[] args) {
     //  Pages page= new Pages(5);
     //  Vector vector= new Vector();
     //  Vector vector1= new Vector();
     //  for (int i= 0; i < 7; i++) {
     //   vector.add(i, new String(new Integer(i).toString()));
     //  }
     //  vector1= page.upPage(vector, 2);
     //  String s= page.getJavaScript();
     //  System.out.println("==" + s);
     //     for (int i= 0; i < vector1.size(); i++) {
     //      System.out.println(i + "=" + vector1.get(i));
     //     }
     //     System.out.println("allRows=" + page.allRows);
     //     System.out.println("currRow=" + page.currRow);
     //     System.out.println("onePageRows=" + page.onePageRows);
     //     System.out.println("allPages=" + page.allPages);
     //     System.out.println("currPage=" + page.currPage);
     //     System.out.println("firstPage=" + page.firstPage);
     //     System.out.println("lastPage=" + page.lastPage);
     // }
     /**
      * @return
      */
     public int getAllPages() {
      return allPages;
     }

     /**
      * @return
      */
     public int getAllRows() {
      return allRows;
     }

     /**
      * @return
      */
     public int getCurrPage() {
      return currPage;
     }

     /**
      * @return
      */
     public int getCurrRow() {
      return currRow;
     }

     /**
      * @return
      */
     public boolean isFirstPage() {
      return firstPage;
     }

     /**
      * @return
      */
     public boolean isLastPage() {
      return lastPage;
     }

     /**
      * @return
      */
     public int getOnePageRows() {
      return onePageRows;
     }

    }

    posted on 2007-01-23 14:15 二胡 閱讀(510) 評論(4)  編輯  收藏 所屬分類: Java

    評論

    # re: 實現翻頁效果的一個方法 2007-01-31 22:15 FG
    你和健寒真是絕配阿,都這么專業!呵呵呵   回復  更多評論
      

    # re: 實現翻頁效果的一個方法 2007-02-12 11:14 JieJr
    原來分頁這么麻煩,不過你可以每次用的時候簡單一些哈!  回復  更多評論
      

    # re: 實現翻頁效果的一個方法[未登錄] 2007-03-03 17:06 J
    是不是比原來漂亮一些?  回復  更多評論
      

    # re: 實現翻頁效果的一個方法 2007-12-29 12:05 laoflch
    其實將分頁的工作交給數據庫去做的話,效率會更好些。  回復  更多評論
      

    主站蜘蛛池模板: 无码 免费 国产在线观看91| 成年女人免费v片| 99精品视频免费在线观看| 国产精品久久永久免费| 嫩草视频在线免费观看| 亚洲偷自拍拍综合网| 亚洲无圣光一区二区| 色窝窝亚洲AV网在线观看| 91免费在线视频| 无码高潮少妇毛多水多水免费| 亚洲成av人片不卡无码久久| 亚洲国产精品国自产电影| 亚洲欧美中文日韩视频| 中文字字幕在线高清免费电影| 57PAO成人国产永久免费视频| 国产在线不卡免费播放| 亚洲人成在线影院| 怡红院亚洲红怡院在线观看| 一级毛片成人免费看免费不卡| 精品无码国产污污污免费| 久久青青草原亚洲AV无码麻豆 | 高h视频在线免费观看| 18未年禁止免费观看| 免费夜色污私人影院在线观看| 亚洲AV成人片色在线观看高潮| 阿v视频免费在线观看| 四虎永久在线精品免费观看视频| 亚洲男人第一无码aⅴ网站| 亚洲日日做天天做日日谢| 日本免费污片中国特一级| 免费又黄又硬又爽大片| 亚洲三级在线视频| 久久免费观看国产99精品| 免费a级毛片网站| 亚洲综合欧美色五月俺也去| 99精品一区二区免费视频| 在线亚洲人成电影网站色www| 亚洲乱码中文字幕在线| 成人免费黄色网址| 亚洲国产综合91精品麻豆| 成人无码区免费A∨直播|