PageInfo.java
资源名称:shihua.rar [点击查看]
上传用户:zghglow
上传日期:2022-08-09
资源大小:27227k
文件大小:3k
源码类别:
WEB源码(ASP,PHP,...)
开发平台:
JavaScript
- package com.chinacannel.common;
- import java.math.*;
- import java.util.*;
- public class PageInfo {
- private int totalRows, totalPages;
- private int startRow, endRow;
- private int pageSize;
- private int currentPageNO, firstPageNO,
- lastPageNO;
- private List rows=new Vector();
- public int getTotalPages() {
- return totalPages;
- }
- public int getTotalRows() {
- return totalRows;
- }
- public int getPageSize() {
- return pageSize;
- }
- public int getStartRow() {
- return startRow;
- }
- public int getPreviousPageNO() {
- return this.validPageNO(this.currentPageNO - 1);
- }
- public int getNextPageNO() {
- return this.validPageNO(currentPageNO + 1);
- }
- public int getEndRow() {
- return endRow;
- }
- public int getLastPageNO() {
- return lastPageNO;
- }
- public int getFirstPageNO() {
- return firstPageNO;
- }
- public int getCurrentPageNO() {
- return currentPageNO;
- }
- public List getRows() {
- return rows;
- }
- /**
- * @param totalrows int
- * @param pageno int
- * @param pagesize int
- */
- public PageInfo(int totalrows, int pageno, int pagesize) {
- this.totalRows = totalrows;
- this.pageSize = pagesize;
- this.totalPages = ceiling(totalrows, pagesize); //取得最大页数
- this.firstPageNO = 0;
- this.lastPageNO = this.totalPages-1;
- this.currentPageNO = validPageNO(pageno);
- //计算当前页的开始记录号,结束记录号;
- this.startRow = (this.currentPageNO ) * this.pageSize ;
- // this.startRow = (this.currentPageNO - 1) * this.pageSize + 1;
- this.endRow = (this.currentPageNO < this.lastPageNO ?
- this.currentPageNO * this.pageSize : this.totalRows);
- }
- private int validPageNO(int pageno) {
- return (pageno < this.lastPageNO ?
- (pageno > this.firstPageNO ? pageno :
- this.firstPageNO) :
- this.lastPageNO);
- }
- /**
- * 取得最大的整数商.
- * @param dividend int
- * @param divisor int
- * @return int
- */
- private int ceiling(int dividend, int divisor) {
- BigDecimal d = new BigDecimal(dividend);
- BigDecimal q = (d.divide(new BigDecimal(divisor),
- BigDecimal.ROUND_CEILING));
- return q.intValue();
- }
- public void setRows(List rows) {
- this.rows = rows;
- }
- }