博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext4.2 grid(store)分页获取当前页,总页数,是否是最后一页
阅读量:2825 次
发布时间:2019-05-14

本文共 1646 字,大约阅读时间需要 5 分钟。

 

获取当前页

store.currentPage

  

总页数

一.从pagingtoolbar里获得

getPageData在api里看不到,但是在源码里有,可以调用

pagingtoolbar.getPageData().pageCount

不通过id得到pagingtoolbar(怕id多了冲突)(用bbar声明的也可以取到)

grid.getDockedItems('toolbar[dock="bottom"]')[0].getPageData().pageCount

pagingtoolbar#getPageData源码

// @private    getPageData : function(){        var store = this.store,            totalCount = store.getTotalCount();        return {            total : totalCount,            currentPage : store.currentPage,            pageCount: Math.ceil(totalCount / store.pageSize),            fromRecord: ((store.currentPage - 1) * store.pageSize) + 1,            toRecord: Math.min(store.currentPage * store.pageSize, totalCount)        };    },

 

 

二.从store里获得,需要计算

function getStoreTotalPage(store){	var totalCount = store.getTotalCount();	var pageSize = store.pageSize; //default: 25	//var totalPage = (totalCount + pageSize -1) / pageSize; //js的不是整除	var totalPage = Math.ceil(totalCount/pageSize);	return totalPage;}

这个可以给store加扩展方法

1.Ext似乎不允许这样扩展 Ext.data.Store.prototype.getTotalPage = function(){ }

2.Ext的扩展会产生一个新的类,不是我要的,

3.可以改源码,把方法加上,那还得压缩,还不如像上面单定义一个方法简单,

//查找Ext.define('Ext.data.Store',加入方法getTotalPage: function(){    var totalCount = this.getTotalCount();    var pageSize = this.pageSize; //default: 25    var totalPage = Math.ceil(totalCount/pageSize);    return totalPage;},

 

是否是最后一页

 

1.当前页是否是最后一页

store.currentPage == grid.getDockedItems('toolbar[dock="bottom"]')[0].getPageData().pageCount

  

store.currentPage == getStoreTotalPage(store)

 

2.当前页的最后一条和总记录做对比

先判断store.last()是不是个对象

if(!(store.last()) || store.indexOfTotal(store.last()) == store.getTotalCount()-1){     alert(true);}

  

转载地址:http://helhd.baihongyu.com/

你可能感兴趣的文章
SQL SERVER死锁的追踪和处理
查看>>
python读取合并单元格并拆分合并单元格写出
查看>>
python中ctypes的使用
查看>>
caffe编译时出现opencv类似于cv::xx没有定义或者无法连接问题的解决方法总结
查看>>
深度学习中的动量
查看>>
caffe安装教程Ubuntu 16.04(CPU)(libopencv-dev错误)
查看>>
yolov3模型微调相关
查看>>
#ifdef __cplusplus分析
查看>>
边框回归:BoundingBox-Regression(BBR)
查看>>
备战秋招[一]-加法器与分频器
查看>>
备战秋招[二]-亚稳态与同步器
查看>>
备战秋招[三]-跨时钟域处理
查看>>
举例说明构造代码块、静态、非静态代码块的执行顺序
查看>>
使用工厂方法模式创建实例(JAVA版)
查看>>
【BasicNet系列:五】DenseNet 论文笔记解读+pytorch代码分析
查看>>
【Java 8 新特性】Java Stream通过findAny()返回任意一条数据
查看>>
【Java面试题】注解原理是什么?
查看>>
【Java 8 新特性】Java 8 Collection 中的并行流和顺序流
查看>>
【Java 8 新特性】Java 8接口中的默认方法和静态方法
查看>>
【Java 8 新特性】Java 8 时间接口示例:DayOfWeek、Duration 和 Instant
查看>>