以下是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("
");
}else{
page.append("           ");
}
if(getShowPage()!=getPageCount()){
page.append("
");
}else{
page.append("           ");
}
if(getShowPage()!=1){
page.append("
");
}else{
page.append("           ");
}
if(getShowPage()!=getPageCount()){
page.append("
");
}else{
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(""+statName.getColumnName(i)); } page.append(" |
");
for(int i=1;i<=getPageSize();i++) {
page.append("");
for(int j=1;j<=statName.getColumnCount();j++){
page.append(""+rs.getString(j)+" | ");
}
page.append("
") ;
if(!rs.next()){
break;
}
}
page.append("
");
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
阅读(1581) | 评论(1) | 转发(0) |