Extjs6 grid带参数分页查询 store beforeload



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

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

在Ext 3 中的

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

已经不适合与ext6 系列了。

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

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

<span style="color:#000000;">	    store.on('beforeload', function (store, options) {
	        var new_params = { nameId : Ext.getCmp('nameId').getValue() };
	        Ext.apply(store.proxy.extraParams, new_params);
	        alert("beforeload");
	    });
	    
	    store.load();</span>


特别注意:

使用这种方法传参时,Store的请求方式必须为POST,否则会出现中文乱码。

解决方法:

设置Store请求方式位POST

	    var store = Ext.create('Ext.data.Store', {
			// autoLoad : true,
			pageSize : main.gridPageSize,
			fields : ['id', 'text', 'description', 'url', 'leaf'],
			proxy : new Ext.data.HttpProxy({
				type : 'ajax',
				url : '../../../dayReportController/test.do',
				actionMethods : {
					read : 'POST' // Store设置请求的方法,与Ajax请求有区别
				},
				reader : new Ext.data.JsonReader({
					type : 'json',
					rootProperty : 'data',// 数据(不配置的话无法接收数据),返回的key为data
					totalProperty : 'totalRecord'// 记录数(不配置的话无法翻页),返回的key为totalRecord
				})
			})
		});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值