6

1つのストアストアから2つのコンボボックスを追加するには、typeフィールドウィッチ値を指定できます。最初のコンボボックスと2番目のコンボボックス1, 2 and 3にタイプのレコードが必要です。1 and 22 and 3

私のコンボボックス:

Ext.define('Exp.view.settings.servers.ComboBox', {
    extend: 'Ext.form.ComboBox',
    alias : 'widget.server_combobox',

    xtype: 'combobox',
    displayField: 'name',
    valueField: 'id',
    name: 'server',
    store: 'Servers'
});

ストア: (jsonリーダーを使用したサーバーからのデータの例)

Ext.define('Exp.store.Servers', {
    extend: 'Ext.data.Store',
    model: 'Exp.model.Server',

    autoLoad: true,
    autoSync: true,

    data: [{
        id: 1,
        name: 'Server 1',
        type: 1
    },{
        id: 2,
        name: 'Server 2',
        type: 3
    },{
        id: 3,
        name: 'Server 3',
        type: 2
    }]
});

ストアフィルターを使用すると、両方のコンボボックスがフィルターされます。今のところ私は2つのストアを作成しましたが、それはサーバーへの2つのajax呼び出しを意味し、私はそれが本当に好きではありません。

4

2 に答える 2

8

答えはノーです、あなたはできません。同じストアからの2つの異なるデータセットを同時に任意の2つのUI要素(2つのグリッドまたは2つのコンボなど)に反映する必要がある場合は、ストアのコピーを作成する必要があります。

クローンを作成することも、より単純なモデルを作成することもできます(たとえば、コンボボックスには値と名前だけが必要です)が、それを回避する方法はありません。

于 2012-05-23T12:00:47.147 に答える
1

フィルターが一番きれいだと思います。これは単なるローカルな例です。アプリの構造を使用しませんでした。 http://jsfiddle.net/ssxenon01/WpZMU/

于 2012-05-23T08:11:40.237 に答える