ExtJS 修改load paging时的参数
ExtJS 的pagingToolbar 在翻页的时候传入的参数是固定的 分别是start 和 limit(其中limit的值就是store.pageSize的值)
如何在每次翻页的时候传入自己的参数呢? 这涉及到两点, 一个是获取到翻页时本身的参数, 第二是根据已有参数拼成自己的参数。
实际上 store本身有两个属性 currentPage 和 pageSize
var columns = [ {header:'编号',dataIndex:'id'}, {header:'名称',dataIndex:'name'}, {header:'描述',dataIndex:'descn'} ]; var store = new Ext.data.Store({ proxy: { type: 'jsonp', url: '09_02_01.php', // extraParams: { // start: 0 // end: 25 // }, reader: { type: 'json', totalProperty: 'totalProperty', root: 'root', idProperty: 'id' } }, fields: [ {name: 'id'}, {name: 'name'}, {name: 'descn'} ] }); var grid = new Ext.grid.GridPanel({ renderTo: 'grid', autoHeight: true, store: store, columns: columns, bbar: new Ext.PagingToolbar({ pageSize: 10, store: store, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" }) }); store.on('beforeload',function( store, operation, eOpts){ var pxy = store.getProxy(); store.proxy.extraParams; //sort, start, limit, and page are missing. operation.params = Ext.apply(operation.params || {}, { start: (store.currentPage -1 )* store.pageSize, end: store.currentPage * store.pageSize }); }); //store.load({params:{start:0,limit:10}}); store.load();