在extjs 6中如何实现商店分配到同一网格的多个实例

时间:2015-11-24 18:39:55

标签: extjs extjs5 extjs6

在extjs 6中如何实现商店分配到同一网格的多个实例。

我创建了一个网格,并通过在该视图的viewmodel中创建存储来绑定存储,并通过" bind"进行绑定。

现在我想在多个标签中打开相同的网格..那么用户可以在两个差异标签中看到差异数据..我正在使用相同的网格和同一个商店如何实现它。

2 个答案:

答案 0 :(得分:0)

你没有。在不同的选项卡中放置一个不同的网格实例,每个选项卡都有自己的商店。

我想如果你真的必须,你可以使用tabchange事件在标签更改时交换商店,但这很麻烦。

为什么你坚持只有一个网格实例?你想要实现什么目标?

答案 1 :(得分:-1)

通常情况下,您define网格一次:

Ext.define('MyApp.view.Grid.ContentGrid',{
    extend:'Ext.grid.Panel',
    xtype:'ContentGrid',
    initComponent:function() {
        var me = this;
        Ext.apply(me,{
            columns:[{
                ...
            }],
            listeners:{
                cellcontextmenu: function() {
                }
            }
        });
        me.callParent(arguments);
    }
});

然后,在视图中,您可以通过Component层次结构定义(或多或少静态)或Ext.create(运行时)随意使用它:

Ext.define('Ext.Window',{
    layout:'card',
    items:[{
        xtype:'ContentGrid',
        store:'ABCStore',
    },{
        xtype:'ContentGrid',
        store:'DEFStore',
    }],
    listeners:{
        boxready:function(window) {
            window.add(
                Ext.create('MyApp.view.Grid.ContentGrid',{
                    store:'GHIStore'
                })
            );
        }
    }
});