`
happyqing
  • 浏览: 3197950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext4.2 grid(store)分页获取当前页,总页数,是否是最后一页

    博客分类:
  • Ext
阅读更多

 

获取当前页

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);
}

  

分享到:
评论

相关推荐

    ext2.0 grid 分页实例(php)

    总的来说,Ext JS 2.0 Grid分页实例与PHP的结合,是前后端协同工作的一个典型示例,通过合理的数据分页策略,可以有效地处理大数据集,提供流畅的用户体验。在实际开发中,可以根据项目需求进行调整和优化,例如添加...

    Ext Grid +dwr 列表展示展示带分页

    在这个事件处理器中,我们可以更新分页工具栏的状态,反映当前页和总页数。 5. **加载初始数据**: 最后,初始化Grid时,调用数据源的`load`方法,传递初始分页参数,加载第一页数据到Grid中。 总结,本示例展示了...

    EXT树表分页(SERVLET)

    JSON数据应包含必要的字段,如记录数组、总记录数(totalProperty)和当前页数(currentPage)等。 5. **EXT分页控件**:EXT提供内置的分页工具栏(pagingToolbar),可以自动与Store关联,显示页码并处理分页事件...

    ext4 表格分页实例代码

    displayInfo: true // 显示当前页和总页数 }] }); // 添加到页面 Ext.create('Ext.container.Viewport', { layout: 'fit', // 全屏布局 items: [grid] }); ``` 在上述代码中,`data.json`应替换为实际的数据...

    Ext2.2.GridPanel分页处理+dwrproxy(js对象和json两种数据)

    displayInfo: true, // 显示当前页和总页数 pageSize: 25 // 每页记录数 }) }); ``` 在这个例子中,我们创建了一个使用DWRProxy的Store,DWRProxy允许我们在后台Java方法和前端JavaScript之间进行透明的数据交换...

    Extjs grid分页1

    `pagingToolbar`是一个包含导航按钮(如“上一页”、“下一页”)和当前页信息的工具栏,它与数据源(通常是`Ext.data.Store`)关联,控制数据的加载。 1. **创建Store**:首先,我们需要创建一个`Ext.data.Store`...

    ext gride刷新

    然而,当你提到"ext gride刷新又回到第一页",这通常涉及到Grid组件的刷新行为以及分页设置。 在Ext Grid中,刷新通常意味着重新加载数据源,更新表格显示以反映最新的数据变化。当你点击刷新按钮或者调用`store....

    ext-gwt分页 鉴于网上关于ext-gwt的技术文章很少代码页很少本着开源的精神本人特地写了一个分页的组件供大家学习欢迎下载

    在分页场景下,Store通常配置有分页参数,如每页记录数和当前页数。 2. **paging toolbar**:EXT-GWT提供的专用工具栏组件,包含了分页按钮、页码显示和每页记录数选择等元素,用户可以通过它来导航页面和调整分页...

    Ext 分页核心代码

    在创建Store时,我们需要配置分页参数,如`autoLoad`(是否自动加载数据)、`pageSize`(每页显示的数据量)以及`proxy`(数据源)。 ```javascript var store = Ext.create('Ext.data.Store', { model: '...

    extJs之分页控件

    displayInfo: true, // 显示当前页和总页数 dock: 'bottom' }] // 其他Grid配置... }); ``` 总结来说,ExtJS中的分页控件是一个强大的功能,它可以帮助我们有效地管理和展示大量数据。"ux.Andrie.pPageSize...

    ext设置分页大小.rar

    displayInfo: true, // 显示当前页和总页数信息 pageSize: 10 // 默认每页显示10条记录 }], columns: [...], // 列定义 }); ``` 压缩包中的两个文件`ext-ui-combo-pagesize.js`和`ext-ui-slider-pagesize.js`...

    ExtGrid使用

    ExtGrid是Ext JS库中的一个核心组件,常用于在Web应用程序中展示数据并提供操作功能。这个例子在.NET环境中展示了如何有效地使用ExtGrid,包括显示数据、增删改查(CRUD)操作以及分页功能。下面将详细介绍这些知识...

    extjs 简单分页例子

    displayInfo: true // 显示当前页和总页数 }] }); ``` 数据源通常连接到一个远程服务器,通过Ajax请求获取数据。EXTJS的Store对象支持远程分页,这意味着当用户翻页时,只请求当前页所需的数据。为此,我们需要...

    Extjs4 Grid Row 事件

    如果需要获取全局行号,我们需要结合Store的当前页大小(每页的行数)进行计算,即`全局行号 = e.index + (currentPage - 1) * pageSize`,其中`currentPage`是当前页数,`pageSize`是每页行数。 为了启用单元格...

    PagingLoadResult分页

    PagingLoadResult是用于处理分页数据返回的结果对象,它通常包含当前页的数据集合、总页数、每页大小等信息。 1. **分页原理**: 分页是通过限制每次请求的数据量来实现的,用户可以逐页浏览数据,而不是一次性...

    报表打印,用于ext的。很好用

    1. **EXT Grid配置**:首先,我们需要创建一个EXT Grid,定义其列结构、数据源(例如使用Store)以及任何其他定制的特性,如排序、过滤和分页。这是报表的基础,确保正确设置列宽和布局以便于打印。 2. **数据导出*...

    EXTJS2.x_pagingstore.zip

    2. **分页栏(Paging Toolbar)**:通常与分页存储一起使用的是`Ext.toolbar.Paging`,它提供上一页、下一页、跳转到指定页和显示当前页数等功能。分页存储会自动与分页栏同步,更新分页栏的状态。 3. **分页参数**...

    Extjs中文教程

    - **分页工具栏**:`PagerToolbar`用于控制GridPanel的分页显示,包括当前页码、总页数等信息。 - **分页数据加载**:实现GridPanel的分页加载功能,优化大数据量下的用户体验。 #### 二十一、GridPanel扩展 - **...

Global site tag (gtag.js) - Google Analytics