Extjs Ext JS 4-共享同一存储的网格实例

Extjs Ext JS 4-共享同一存储的网格实例,extjs,grid,store,Extjs,Grid,Store,我遇到了一个让我发疯的问题。我创建了一个显示网格的基于窗口的小部件。好的,到目前为止,这没有什么特别的,但是,每个网格必须处理不同的数据。例如:想象一个房屋经纪人,有一个显示股票报价的小部件。因此,实例A必须显示INTC,实例B必须显示CSCO,实例C必须显示FB。但是当我处理实例A的INTC数据时,实例B和C的网格也会更新。所以我知道所有网格共享同一个存储。 我已经尝试过以友好的方式创建一个商店,但没有成功 问题是,我该如何将其分开?还有一种方法可以在没有存储的情况下更新网格?您需要创建存储的

我遇到了一个让我发疯的问题。我创建了一个显示网格的基于窗口的小部件。好的,到目前为止,这没有什么特别的,但是,每个网格必须处理不同的数据。例如:想象一个房屋经纪人,有一个显示股票报价的小部件。因此,实例A必须显示INTC,实例B必须显示CSCO,实例C必须显示FB。但是当我处理实例A的INTC数据时,实例B和C的网格也会更新。所以我知道所有网格共享同一个存储。 我已经尝试过以友好的方式创建一个商店,但没有成功


问题是,我该如何将其分开?还有一种方法可以在没有存储的情况下更新网格?

您需要创建存储的实例,您可能会这样声明它们:

{
     xtype: 'grid',
     store: 'theStore'
     // Rest of the properties
}
您需要执行以下操作:

{
    xtype: 'grid',
    //column definitions etc...
    initComponent: function() {
        var me = this;
        var lStore = Ext.create('App.store.MyStore');

        Ext.apply(me, {
            store: lStore
        });

        me.callParent();
    }
}​
这将创建存储的唯一实例,如果您像这样引用存储:store:'MyStore'您只会得到相同的存储,当您排序、分页、筛选时。。。所有的商店都这样做


希望这对您有所帮助,因为您没有共享任何代码。

您需要创建存储实例,您可能会这样声明它们:

{
     xtype: 'grid',
     store: 'theStore'
     // Rest of the properties
}
您需要执行以下操作:

{
    xtype: 'grid',
    //column definitions etc...
    initComponent: function() {
        var me = this;
        var lStore = Ext.create('App.store.MyStore');

        Ext.apply(me, {
            store: lStore
        });

        me.callParent();
    }
}​
这将创建存储的唯一实例,如果您像这样引用存储:store:'MyStore'您只会得到相同的存储,当您排序、分页、筛选时。。。所有的商店都这样做


希望这对您有所帮助,因为您没有共享任何代码。

此信息有帮助吗?也许可以发布一些关于网格和存储是如何定义的代码,以及您使用的是哪个版本的ExtJS?这些信息有用吗?也许可以发布一些关于网格和存储是如何定义的代码,以及您使用的是哪个版本的ExtJS?伙计,谢谢您的努力,但仍然不能正常工作。我尝试了你发布的这种方式,我已经尝试了尽可能多的修改。即使我创建了一个存储的新实例,结果仍然是一样的:如果我添加或删除某个项目,所有其他网格都会反映出来。请确保您没有提供storeId,并尝试使用bindStore方法,而不仅仅是执行Ext.apply。您应该共享一些代码,否则我们无法帮助您。伙计,感谢您的努力,但仍然不能正常工作。我尝试了你发布的这种方式,我已经尝试了尽可能多的修改。即使我创建了一个存储的新实例,结果仍然是一样的:如果我添加或删除某个项目,所有其他网格都会反映这一点。请确保您没有提供storeId,并尝试使用bindStore方法,而不仅仅是执行Ext.apply。您应该共享一些代码,否则我们将无法帮助您。