Extjs6 grid带参数分页查询 store beforeload

来源:互联网 发布:论坛软件群发 编辑:程序博客网 时间:2024/05/22 09:33


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为datatotalProperty : 'totalRecord'// 记录数(不配置的话无法翻页),返回的key为totalRecord})})});


0 0
原创粉丝点击