获取当前页
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); }
相关推荐
总的来说,Ext JS 2.0 Grid分页实例与PHP的结合,是前后端协同工作的一个典型示例,通过合理的数据分页策略,可以有效地处理大数据集,提供流畅的用户体验。在实际开发中,可以根据项目需求进行调整和优化,例如添加...
在这个事件处理器中,我们可以更新分页工具栏的状态,反映当前页和总页数。 5. **加载初始数据**: 最后,初始化Grid时,调用数据源的`load`方法,传递初始分页参数,加载第一页数据到Grid中。 总结,本示例展示了...
JSON数据应包含必要的字段,如记录数组、总记录数(totalProperty)和当前页数(currentPage)等。 5. **EXT分页控件**:EXT提供内置的分页工具栏(pagingToolbar),可以自动与Store关联,显示页码并处理分页事件...
displayInfo: true // 显示当前页和总页数 }] }); // 添加到页面 Ext.create('Ext.container.Viewport', { layout: 'fit', // 全屏布局 items: [grid] }); ``` 在上述代码中,`data.json`应替换为实际的数据...
displayInfo: true, // 显示当前页和总页数 pageSize: 25 // 每页记录数 }) }); ``` 在这个例子中,我们创建了一个使用DWRProxy的Store,DWRProxy允许我们在后台Java方法和前端JavaScript之间进行透明的数据交换...
`pagingToolbar`是一个包含导航按钮(如“上一页”、“下一页”)和当前页信息的工具栏,它与数据源(通常是`Ext.data.Store`)关联,控制数据的加载。 1. **创建Store**:首先,我们需要创建一个`Ext.data.Store`...
然而,当你提到"ext gride刷新又回到第一页",这通常涉及到Grid组件的刷新行为以及分页设置。 在Ext Grid中,刷新通常意味着重新加载数据源,更新表格显示以反映最新的数据变化。当你点击刷新按钮或者调用`store....
在分页场景下,Store通常配置有分页参数,如每页记录数和当前页数。 2. **paging toolbar**:EXT-GWT提供的专用工具栏组件,包含了分页按钮、页码显示和每页记录数选择等元素,用户可以通过它来导航页面和调整分页...
在创建Store时,我们需要配置分页参数,如`autoLoad`(是否自动加载数据)、`pageSize`(每页显示的数据量)以及`proxy`(数据源)。 ```javascript var store = Ext.create('Ext.data.Store', { model: '...
displayInfo: true, // 显示当前页和总页数 dock: 'bottom' }] // 其他Grid配置... }); ``` 总结来说,ExtJS中的分页控件是一个强大的功能,它可以帮助我们有效地管理和展示大量数据。"ux.Andrie.pPageSize...
displayInfo: true, // 显示当前页和总页数信息 pageSize: 10 // 默认每页显示10条记录 }], columns: [...], // 列定义 }); ``` 压缩包中的两个文件`ext-ui-combo-pagesize.js`和`ext-ui-slider-pagesize.js`...
ExtGrid是Ext JS库中的一个核心组件,常用于在Web应用程序中展示数据并提供操作功能。这个例子在.NET环境中展示了如何有效地使用ExtGrid,包括显示数据、增删改查(CRUD)操作以及分页功能。下面将详细介绍这些知识...
displayInfo: true // 显示当前页和总页数 }] }); ``` 数据源通常连接到一个远程服务器,通过Ajax请求获取数据。EXTJS的Store对象支持远程分页,这意味着当用户翻页时,只请求当前页所需的数据。为此,我们需要...
如果需要获取全局行号,我们需要结合Store的当前页大小(每页的行数)进行计算,即`全局行号 = e.index + (currentPage - 1) * pageSize`,其中`currentPage`是当前页数,`pageSize`是每页行数。 为了启用单元格...
PagingLoadResult是用于处理分页数据返回的结果对象,它通常包含当前页的数据集合、总页数、每页大小等信息。 1. **分页原理**: 分页是通过限制每次请求的数据量来实现的,用户可以逐页浏览数据,而不是一次性...
1. **EXT Grid配置**:首先,我们需要创建一个EXT Grid,定义其列结构、数据源(例如使用Store)以及任何其他定制的特性,如排序、过滤和分页。这是报表的基础,确保正确设置列宽和布局以便于打印。 2. **数据导出*...
2. **分页栏(Paging Toolbar)**:通常与分页存储一起使用的是`Ext.toolbar.Paging`,它提供上一页、下一页、跳转到指定页和显示当前页数等功能。分页存储会自动与分页栏同步,更新分页栏的状态。 3. **分页参数**...
- **分页工具栏**:`PagerToolbar`用于控制GridPanel的分页显示,包括当前页码、总页数等信息。 - **分页数据加载**:实现GridPanel的分页加载功能,优化大数据量下的用户体验。 #### 二十一、GridPanel扩展 - **...