2012-08-22 134 views
0

我在网格中使用筛选器选项,我可以选择每列我想要筛选的内容。对于选择我需要做的是:网格中的筛选器选项

Ext.ux.ajax.SimManager.init({ 
    delay: 300, 
    defaultSimlet: null 
}).register({ 
    'filterEvents': { 
     data: [ 
      ['Dag 1', 'Dag 1'], 
      ['Dag 2', 'Dag 2'] 
     ], 
     stype: 'json' 
    } 
}); 

dagenFilter = Ext.create('Ext.data.Store', { 
    fields: ['id', 'text'], 
    proxy: { 
     type: 'ajax', 
     url: 'filterEvents', 
     reader: 'array' 
    } 
}); 

但由于过滤器选项必须是动态的,不是静态的,我想加载从服务的选项。该JSON的输出看起来像这样

{ 
"dagen": [{ 
    "name": "Dag 1", 
    "reference": "Dag 1" 
}, { 
    "name": "Dag 2", 
    "reference": "Dag 2" 
}, { 
    "name": "Dag 3", 
    "reference": "Dag 3" 
}, { 
    "name": "Dag 4", 
    "reference": "Dag 4" 
}] 

}

,但我不知道如何做到这一点。

回答

3

如果通过“筛选网格中的选项”,您所指的是FiltersFeature答案很简单。 ListFilter可以由DataStore支持。

查看ListFilter hereoptions配置。具体而言,storephpMode也可能是相关的。下面是一个例子:

{ 
    header: 'List Filter Column', 
    dataIndex: 'list_data', 
    width: 120, 
    filter: { 
     type: 'list', 
     store: Ext.getStore('FilterOptions'), 
     phpMode: true 
    } 
}