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"
}]

}

しかし、私はこれを行う方法がわかりません。

4

1 に答える 1

3

「グリッド内のフィルターオプション」でFiltersFeatureを参照している場合、答えは簡単です。ListFilterは、データストアによってサポートされます。

ここoptionsでListFilterの構成を見てください。具体的には、また関連性があるかもしれません。1つの例を次に示します。storephpMode

{
    header: 'List Filter Column',
    dataIndex: 'list_data',
    width: 120,
    filter: {
        type: 'list',
        store: Ext.getStore('FilterOptions'),
        phpMode: true
    }
}
于 2012-08-22T15:48:10.127 に答える