ExtJS grid 带参数查询分页 store 传额外参数解决办法

本文介绍如何在ExtJS中通过store的beforeload事件重写store.proxy.extraParams,实现动态添加参数的功能,从而避免每次加载都需要手动设置参数。详细解释了在ExtJS3中通过store.baseParams预设参数的方法,并提供了完整代码示例。
摘要由CSDN通过智能技术生成

在store的beforeload事件里面重写store.proxy.extraParams,添加新参数

就不必每次都手动的添加参数

store.on('beforeload', function (store, options) {

        var new_params = { name: Ext.getCmp('search').getValue() };
        Ext.apply(store.proxy.extraParams, new_params);
        // alert('beforeload');
    });

在Extjs3 中的

store.on('beforeload', function () {
            store.baseParams = {
                name: '5555555',
                intss: '666666666'
            };
        }); 

下面给出完整的代码。原理很简单,将搜索条件放在store的baseParams中,每次加载都赋值。

只是需要强制赋值,因为默认的pagetoolbar只会把start、limit、page、sort、dir传递给store

var store = new Ext.data.Store({
       pageSize: GridPageSize,
       model: 'Master',
       autoLoad: false, 
       proxy: {
           type: 'ajax',
           url: '/master/GetMasterData',
           reader: {
               type: 'json',
               root: 'data',
               totalProperty: 'totalCount'
           }
       },
       fields: [
           { name: 'Id' },
           { name: 'Master_Name' }
         
       //排序
       sorters: [{
           property: 'Master_Name',
           direction: 'DESC'
       }] 
      
   });
store.on('beforeload', function (store, options) {
        var new_params = { name: Ext.getCmp('search').getValue() };
        Ext.apply(store.proxy.extraParams, new_params);
        // alert('beforeload');
    });
store.load({
       params: { start: 0, limit: GridPageSize }
   })


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值