Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133693
  • 博文数量: 22
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-23 10:19
文章分类

全部博文(22)

文章存档

2010年(1)

2008年(6)

2007年(12)

2006年(3)

我的朋友

分类: Java

2006-12-07 09:04:10

以下是java类
/*
 * PageNumber.java
 *
 * Created on 2006年10月9日, 上午8:21
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package page;
import java.io.*;
import java.sql.*;
import java.lang.String;
/**
 *只需传进三个参数,一个是每页显示记录集数,一个是记录集,一个是URL
 *取得分页效果只需调用一个getPage即可
 * @mc1035
 */
public class PageNumber {
    private int rowCount=1,   //总的记录数。
            pageSize=1,  //每页显示的记录数。
            showPage=1,  //设置欲显示的页码数。
            pageCount=1; //分页之后的总页数。
    private ResultSet rs;
    private String url;
    private StringBuffer page=new StringBuffer();
    private String formValue="-1";
   
    /*
     *设置记录集
     */
    public void setRs(ResultSet a){
        rs=a;
        try {
            rs.last(); //获取最后一行的行号:
            rowCount=rs.getRow();//获取
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
       
    }
    public ResultSet getRs(){
        return rs;
    }
    /*
     *设置url
     */
    public void setUrl(String a){
        url=a;
    }
    public String getUrl(){
        return url;
    }
    /*
     *设置总记录数
     */
    public void setRowCount(int n) {
        rowCount=n;
    }
    public int getRowCount() {
        return rowCount;
    }
   
    /*
     *设置总的页数
     */
    public void setPageCount() {
       
        int n=(rowCount%pageSize)==0?(rowCount/pageSize):(rowCount/pageSize+1) ;
        pageCount=n;
    }
    public int getPageCount() {
        return pageCount;
    }
    /*
     *设置显示第几页
     */
    public void setShowPage(int n) {
        showPage=n;
    }
    public int getShowPage() {
        return showPage;
    }
    /*
     *每页显示的记录数
     */
    public void setPageSize(int n) {
        pageSize=n;
       
    }
    public int getPageSize() {
        return pageSize;
    }
    /*
     *设置表单值
     */
    public void setFormValue(String a){
        formValue=a;
    }
    public String getFormValue(){
        return formValue;
    }
    public void setForm(){
       
        page.append("共有"+getRowCount()+"条记录 ");
        page.append("  "+getPageCount()+"页 ");
        page.append(" 当前为第"+getShowPage()+"页 ");
        page.append("每页显示"+getPageSize()+"条记录");
       
        if(getShowPage()!=1){
            page.append("
");
            page.append("");
            page.append("");
            page.append("
");
        }else{
            page.append("           ");
        }
        if(getShowPage()!=getPageCount()){
            page.append("
");
            page.append("");
           page.append("");
            page.append("
");
        }else{
        page.append("           ");
        }
        if(getShowPage()!=1){
            page.append("
");
            page.append("");
          
           page.append("");
            page.append("
");
        }else{
            page.append("           ");
        }
        if(getShowPage()!=getPageCount()){
            page.append("
");
            page.append("");
           
           page.append("");
            page.append("
");
        }else{
            page.append("           ");
        }
       
        page.append("
");
        page.append("输入欲要显示的页");
      
        page.append("");
        page.append("
");
       
       
    }
    public void showList(){
        try{
            page.append("");
            page.append("");
            ResultSetMetaData statName= rs.getMetaData();
           
            for(int i=1;i<=statName.getColumnCount();i++){
                page.append("");
           
            for(int i=1;i<=getPageSize();i++) {
                page.append("");
                for(int j=1;j<=statName.getColumnCount();j++){
                    page.append("");
                }
                page.append("") ;
                if(!rs.next()){
                    break;
                }
            }
            page.append("
"+statName.getColumnName(i));
            }
            page.append("
"+rs.getString(j)+"
");
            setForm();
           
        }catch(Exception e){
            e.printStackTrace();
            page.append(e);
        }
    }
    public String getPage(){
        setPageCount();
        try{
            int n=1;
            if(formValue.equals("-1")){
                formValue="1";
                setShowPage(1);
                rs.absolute((n-1)*getPageSize()+1);
               
            }else {
                try{
                    n=Integer.parseInt(formValue);
                    if(n>getPageCount()) {
                        n=getPageCount();
                    }
                    if(n<=0) {
                        n=1;
                    }
                    setShowPage(n);
                    rs.absolute((n-1)*getPageSize()+1);
                   
                } catch(NumberFormatException e){
                    e.printStackTrace();
        &nbs
阅读(1552) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~