6

如何从一个商店添加两个组合框具有type字段女巫值可以是1, 2 and 3我想要1 and 2在第一个组合框和2 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
    }]
});

如果我使用商店过滤器,两个组合框都会被过滤。现在我创建了两个商店,但这意味着对服务器的两个 ajax 调用,我不太喜欢这样。

4

2 回答 2

8

答案是否定的,你不能。如果您需要来自同一商店的两组不同的数据同时反映在任何两个 UI 元素中(两个网格或两个组合或其他),您需要创建商店的副本。

您可以克隆它,甚至可以创建更简单的模型(例如,组合框只需要值和名称),但没有办法绕过它。

于 2012-05-23T12:00:47.147 回答
1

我认为过滤器将是最干净的方式。这只是当地的例子。没有使用应用程序结构。 http://jsfiddle.net/ssxenon01/WpZMU/

于 2012-05-23T08:11:40.237 回答