Gridview Extjs 3.0网格过滤器,从存储加载选项

Gridview Extjs 3.0网格过滤器,从存储加载选项,gridview,extjs,filter,header,Gridview,Extjs,Filter,Header,我正试图使用一个数据存储(而不是一个硬编码列表)来实现extjs4api-中所述的Ext.ux.grid.filter.ListFilter。我在这个列标题上看到一个过滤器选项,但现在我想知道如何从store加载选项??我用下面的代码试过了,但不起作用。 如果选项已硬编码,则过滤器工作正常 下面是一些代码: var tradeStore = new Ext.data.JsonStore({ fields: ['tradegroup_id','tradegroup_name'],

我正试图使用一个数据存储(而不是一个硬编码列表)来实现extjs4api-中所述的Ext.ux.grid.filter.ListFilter。我在这个列标题上看到一个过滤器选项,但现在我想知道如何从store加载选项??我用下面的代码试过了,但不起作用。 如果选项已硬编码,则过滤器工作正常

下面是一些代码:

var tradeStore = new Ext.data.JsonStore({
        fields: ['tradegroup_id','tradegroup_name'],
        data: [
            { tradegroup_id: 1, tradegroup_name: '10 T-shirts' },
            { tradegroup_id: 2, tradegroup_name: '15 polo' },
            { tradegroup_id: 3, tradegroup_name: '60 Pants' },
            { tradegroup_id: 4, tradegroup_name: '62 Denim' } 
        ],
        autoLoad: {
            // this callback function is actually Ext js 4, how to convert it to Ext js 3?
            callback: function() {
                grid.getView().getHeaderCt().child('#Trademark').initialConfig.filter.options = tradeStore.collect('tradegroup_name'); 
            }
        }
    });

    _filtersPlugin = new Ext.ux.grid.GridFilters({
        encode: encode, // json encode the filter query
        local: local,   // defaults to false (remote filtering)
        filters: [
            {
                type: 'list',
                dataIndex: 'Trademark',
                options: [] 
                // options: ['10 T-shirts', '60 Pants']   // this is harcoded, I don't want this
                store: tradeStore

            },
        ]

我解决了。我只是从存储中加载数据,我不知道这会这么容易。代码如下:var trademarkFilterOptions=[];每个(函数(记录){trademarkFilterOptions.push(记录.Data.tradegroup_name);});我会贴出答案,但我必须等8个小时。