Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
extjs分页的baseParam_Extjs_Pagination_Extjs4.1 - Fatal编程技术网

extjs分页的baseParam

extjs分页的baseParam,extjs,pagination,extjs4.1,Extjs,Pagination,Extjs4.1,我使用datefields和ComboBox进行选择以加载存储。当存储加载到网格中时,我有一个分页工具栏。到目前为止还不错 当用户单击下一页时,pagingtoolbar不会发送日期字段中的数据。我读了一些关于baseparams的文章,但这不起作用 我使用extjs4.1 这是我的商店: NL.commListDetails = new Ext.data.Store({ model: 'stepDetails', pageSize: 20, loadMask:

我使用datefields和ComboBox进行选择以加载存储。当存储加载到网格中时,我有一个分页工具栏。到目前为止还不错

当用户单击下一页时,pagingtoolbar不会发送日期字段中的数据。我读了一些关于baseparams的文章,但这不起作用

我使用extjs4.1

这是我的商店:

    NL.commListDetails = new Ext.data.Store({
    model: 'stepDetails',
    pageSize: 20,
    loadMask: false,
    sortOnLoad: true,

    proxy: {
        type: 'ajax',
        url: detailURL,
        startParam: '',
        limitParam: '',
        pageParam: '',
        reader: {
            type: 'json',
            root: 'slaevents',
            totalProperty: 'slaevents[0].totalCount'
        }
    },
    baseParams: {fromDate:NL.startDate},
    autoLoad: false
});
这是分页工具栏

 bbar: Ext.create('Ext.PagingToolbar', {
        store: NL.commListDetails,
        displayInfo: true,
        displayMsg: 'Displaying record {0} - {1} of {2}',
        emptyMsg: "No records to display",

    }),

我需要发送fromDate,endDate和分页。这两个版本都有NL.startDate和NL.endDate版本。单击下一页时如何发送此信息?

存储区没有baseParams的配置。要发送额外的参数,应该使用ajax代理的extraParams配置

proxy: {
        type: 'ajax',
        ....
        extraParams: {fromDate:NL.startDate},
        ..
    },
在创建存储时定义参数也意味着它们是静态的,所以它们赢了;如果修改日期字段或组合框,则不会更改

因此,解决方法是侦听组合框或日期字段上的更改事件,并重置额外的参数:

change: function(this,value){
      NL.commListDetails.getProxy().getExtraParams().comboName = value;
 }
编辑
我被纠正了。有一个baseParams,但它位于elementloader上,只有在直接调用load时才调用它,我认为使用loadPage的分页工具栏不是这样。这一点我可能错了,但我使用的是extraparams,它工作正常。

感谢您的快速回复。当我这样做的时候,我得到了NL.commListDetails.getProxy().getExtraParams不是一个函数我错了,没有方法可以得到所有的参数,你可以用setExtraParam(comboName,value)替换它;