标记页数、页码的实体类(分页实体类)

/**
 * 标记页数、页码的实体类(分页实体类)
 */
public class PaginationData{

private int recordCount;             // 数据条数总数
    private int pageCount;                 // 页面总数
    private int index = 1;                 // 当前页
    private int pageSize = 10;             // 每页显示多少条数据
    private int displayNum = 10;         // 显示多少个页码
    private int[] pageNums;             // 记录数组的页码
    private boolean frontEllipsis;         // 前省略号
    private boolean afterEllipsis;         // 后省略号

// get,set方法
    public int getRecordCount() {
        return recordCount;
    }

public void setRecordCount(int recordCount) {
        this.recordCount = recordCount;
    }

public int getPageCount() {
        return pageCount;
    }

public void setPageCount(int pageCount) {
        this.pageCount = pageCount;
    }

public int getIndex() {
        if(index <= 0){
            return 1;
        } else {
            return index <= 0 ? 1 : index;
        }
    }

public void setIndex(int index) {
        this.index = index;
    }

public int getPageSize() {
        return pageSize;
    }

public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

public int getDisplayNum() {
        return displayNum;
    }

public void setDisplayNum(int displayNum) {
        this.displayNum = displayNum;
    }

public int[] getPageNums() {
        return pageNums;
    }

public void setPageNums(int[] pageNums) {
        this.pageNums = pageNums;
    }

public boolean isFrontEllipsis() {
        return frontEllipsis;
    }

public void setFrontEllipsis(boolean frontEllipsis) {
        this.frontEllipsis = frontEllipsis;
    }

public boolean isAfterEllipsis() {
        return afterEllipsis;
    }

public void setAfterEllipsis(boolean afterEllipsis) {
        this.afterEllipsis = afterEllipsis;
    }

/**
     * 用来综合生成页面信息的方法
     */
    public void setPageInfo() {
        /*
         * 在这个方法里,我们要确定页码数组,并且确定是否右前后省略号
         */

// 计算总页数
        pageCount = (recordCount + (pageSize - 1)) / pageSize;
        // 前后都没有省略号,总页数不大于要显示的页数
        if (pageCount <= displayNum) {
            this.frontEllipsis = false;// 没有前省略号
            this.afterEllipsis = false;// 没有后省略号
            this.pageNums = new int[pageCount];// 初始化数组,制定数组的长度
            for (int i = 0; i < this.pageNums.length; i++) {// 给数组的每一个元素赋值
                this.pageNums[i] = i + 1;
            }
            // 总页数大于要显示的页数,前后都有省略号
        } else if ((index - (displayNum / 2) >= 1)
                && (index + (displayNum / 2) + 1 <= pageCount)) {
            this.frontEllipsis = true;// 有前省略号
            this.afterEllipsis = true;// 有后省略号
            this.pageNums = new int[displayNum];// 初始化数组,制定数组的长度
            for (int i = 0, j = index - (displayNum / 2 - 1); i < this.pageNums.length; i++, j++) {// 给数组的每一个元素赋值
                this.pageNums[i] = j;
            }
            // 总页数大于要显示的页数,后有省略号,前没有省略号
        } else if (index - (displayNum / 2) < 1) {
            this.frontEllipsis = false;// 无前省略号
            this.afterEllipsis = true;// 有后省略号
            this.pageNums = new int[displayNum];// 初始化数组,制定数组的长度
            for (int i = 0; i < this.pageNums.length; i++) {// 给数组的每一个元素赋值
                this.pageNums[i] = i + 1;
            }
            // 总页数大于要显示的页数,有前省略号,无后省略号
        } else if (index + (displayNum / 2) + 1 > pageCount) {
            this.frontEllipsis = true;// 有前省略号
            this.afterEllipsis = false;// 无后省略号
            this.pageNums = new int[displayNum];// 初始化数组,制定数组的长度
            for (int i = 0; i < this.pageNums.length; i++) {// 给数组的每一个元素赋值
                this.pageNums[i] = (pageCount - displayNum + 1) + i;
            }
        }
    }
}

时间: 2024-11-06 16:18:28

标记页数、页码的实体类(分页实体类)的相关文章

jquery ajax 调用kkpager插件 异步加载重新生成分页后,点击页数还是跟首次加载一样

kkpager的用法网上有很多,可以百度的到. 但是在调用动态数据的时候发现两个问题 1.Ajax数据变化但是页码不变的问题,方法来自网上 2.按查询条件重新生成数据和分页,点击分页事件后totalpage 和totalrecord 和没加条件查询的数据一样. 主要原因是因为客户端不会帮你保留总页码数和总条数, 所以在按查询条件重新生成数据时,用hidden按钮绑定你的总页数和总条数 下面是ajax 调用后台数据,返回的总页数和总条数,都存放在hidden里了 $.ajax({ type: "g

OpenERP 关于页码总页数

如何设置"第几页/共几页",看了这个你就明白了 来源: <https://bugs.launchpad.net/openobject-server/+bug/1138102> 来自为知笔记(Wiz) OpenERP 关于页码总页数,布布扣,bubuko.com

总页数,页码,起始记录数之间的关系

totalRecords:总记录数 pageRecordNum:每页最多显示记录数 totalPages:总页数 pageNo:页码 pageBegin:每页开始的记录数 pageEnd:每页结束记录数 各变量之间的关系: totalPages = totalRecords%pageRecordNum  ==  0 ?totalRecords / pageRecordNum :totalRecords / pageRecordNum + 1: pageBegin =  pageNo<=1 ?0

分页实体类:PageBean

package com.eaju.soms.entity.custom; import java.util.List; @SuppressWarnings("rawtypes")public class PageBean { // 传递的参数或是配置的参数 private int currentPage; // 当前页 private int pageSize; // 每页显示多少条记录 // 查询数据库 private List recordList; // 本页的数据列表 priv

GridView分页(第一页、上一页、下一页、最后页、当前页数/总页数)

<PagerTemplate>                <table width="100%">                    <tr>                        <td width="75%">                            <asp:ImageButton ID="imgBtnFirst" runat="server&qu

分页总页数计算公式

//total : 总数 //pageSize : 每页显示数 //totalPage : 共页数 var totalPage = (total + pageSize - 1)/pageSize; 原文地址:https://www.cnblogs.com/superfeeling/p/11676915.html

通用分页工具类

一.本工具与数据库.框架.展现层无关.代码如下: /** * 用于分页的工具类 */ public class Pager<T> { private List<T> list = new ArrayList<T>(); //对象记录结果集 private int total = 0; // 总记录数 private int pageSize = 10; // 每页显示记录数 private int pageCount = 1; // 总页数 private int pa

分页服务类

主要做分页服务的帮助类 附上分页服务代码 1 /// <summary> 2 /// 分页类 3 /// </summary> 4 [Serializable] 5 [DataContract] 6 public class Paging 7 { 8 /// <summary> 9 /// 页码 10 /// </summary> 11 [DataMember] 12 public int PageIndex { get; set; } 13 14 ///

分页显示类源代码

<%'用法 Dim Pages'定义类变量Set Pages = New Cls_Pages_NewPages.intPage= Page'当前页码Pages.RequestPage = 10'每页显示多少页的翻页数Pages.ShowNum=10'每页显示的记录数Pages.Other = Zr.QueryString'多个URL变量Rs = Pages.ResultSet(sql)'类输出的结果RecordCount=Pages.intReCun'总记录数If IsNull(Rs) Then