码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-09-04 16:01:15      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:get   实体类   page   tin   计算   gen   实体   pageinfo   index   

/**
 * 标记页数、页码的实体类(分页实体类)
 */
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;
            }
        }
    }
}

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

标签:get   实体类   page   tin   计算   gen   实体   pageinfo   index   

原文地址:http://www.cnblogs.com/lm9527/p/7473807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!