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

 

posted @ 2015-06-05 10:38  cart55free99  阅读(684)  评论(0编辑  收藏  举报