Extjs 从GridFilter范围内访问网格的数据存储

Extjs 从GridFilter范围内访问网格的数据存储,extjs,Extjs,在本例中:,在页面底部,gridfilter的“buildQuery”方法被覆盖以提供自定义逻辑。该方法的范围是GridFilter。如果在这个范围内,我想访问网格的数据存储,我可以这样做吗 目标是将筛选器参数添加到数据存储的“baseParams”中。该存储是Ext.ux.grid.GridFilters对象的属性。因此,您应该能够使用this.store 从您链接到的页面底部的示例来看,它应该与以下内容一样简单: plugins: new Ext.ux.grid.GridFilters({

在本例中:,在页面底部,gridfilter的“buildQuery”方法被覆盖以提供自定义逻辑。该方法的范围是GridFilter。如果在这个范围内,我想访问网格的数据存储,我可以这样做吗


目标是将筛选器参数添加到数据存储的“baseParams”中。

该存储是Ext.ux.grid.GridFilters对象的属性。因此,您应该能够使用
this.store

从您链接到的页面底部的示例来看,它应该与以下内容一样简单:

plugins: new Ext.ux.grid.GridFilters({
    buildQuery: function(filters){
        this.store.
        var p = {};
        for(var i=0, len=filters.length; i<len; i++){
            // Custom filter serialization

            //not sure what format filters comes in
            this.store.setBaseParam('your_param', filters[i])
        }

        return p;
    }
});
插件:新的Ext.ux.grid.GridFilters({
buildQuery:函数(过滤器){
这家商店。
var p={};

对于(var i=0,len=filters.length;i存储是Ext.ux.grid.GridFilters对象的属性。因此,您应该能够使用
this.store正常访问它

从您链接到的页面底部的示例来看,它应该与以下内容一样简单:

plugins: new Ext.ux.grid.GridFilters({
    buildQuery: function(filters){
        this.store.
        var p = {};
        for(var i=0, len=filters.length; i<len; i++){
            // Custom filter serialization

            //not sure what format filters comes in
            this.store.setBaseParam('your_param', filters[i])
        }

        return p;
    }
});
插件:新的Ext.ux.grid.GridFilters({
buildQuery:函数(过滤器){
这家商店。
var p={};

对于(var i=0,len=filters.length;iThanks.这非常有效。出于好奇,如果'your_-param'是一个数组,并且我们希望在不完全覆盖现有'your_-param'的情况下将filters[i](i=1,2…n)添加到现有的'your_-param',语法是否允许这样做?类似于:This.store.getBaseParams().get('your_-param')。append(filters[i]))不完全是。存储区允许通过对象的公共属性BaseParams访问BaseParams。好的,如果您的\u param是数组,则需要执行以下操作:var myParam=this.BaseParams.your\u param;myParam.push(filters[i]);this.store.setBaseParam('your\u param',myParam);谢谢。这非常有效。出于好奇,如果“your_param”是一个数组,并且我们希望在不完全覆盖现有“your_param”的情况下向其添加筛选器[i](i=1,2…n),那么语法是否允许这样做?类似于:This.store.getBaseParams().get('your_param').append(筛选器[i]))不完全是。存储区允许通过对象的公共属性BaseParams访问BaseParams。好的,如果您的\u param是一个数组,则需要执行以下操作:var myParam=this.BaseParams.your\u param;myParam.push(filters[i]);this.store.setBaseParam('your\u param',myParam);