Extjs 4:网格界面中的网格相同结构。每个网格都有不同的商店

时间:2014-05-05 13:29:41

标签: grid structure store extjs4.2

我有一个带有多个网格的网络界面 每个网格具有相同的结构。 但是每个网格都由具有相同模型的不同商店填充。

Ext.define("erapnot.view.taskslist.EastItemSdPnGrid", {
  extend: "Ext.grid.Panel",
  xtype: "eastitemsdpngrid",
  store: "EastItemStore",
  columns:[...

我尝试添加" id"对于每个网格如下:

id:'east-panel',  
xtype: 'panel',
region:'east',
title: 'LIST',
items: [{ 
          id:'**firsteastitemgrid**',
          xtype: "eastitemgrid" 
       }, { 
          id:'**secondeastitemgrid**',
          xtype: "eastitemgrid" 
       }
       ]
},

所以我在网格中尝试了这个

Ext.define("erapnot.view.taskslist.EastItemGrid", {
  extend: "Ext.grid.Panel",
  xtype: "eastitemgrid",
  store:{"#firsteastitemgrid": "EastItemStore" , 
         "#secondeastitemgrid":"EastItemDifStore"},

我没有语法错误,但它确实无法正常工作。

是否可以在多个商店中仅定义一次网格?或者我必须按商店创建一个网格,即使所有网格都具有相同的结构,模型,控制器。

先谢谢了。

2 个答案:

答案 0 :(得分:2)

你的解决方案似乎很奇怪。尝试在实例化期间设置商店:

items: [{ 
      store:"EastItemStore",
      xtype: "eastitemgrid" 
   }, { 
      store:"EastItemDifStore",
      xtype: "eastitemgrid" 
   }]

并且在网格定义中不要设置任何商店。

答案 1 :(得分:1)

做这样的事情:

Ext.define('MyGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.mygrid',

    columns: [],

    initComponent: function() {
        this.store = new Ext.data.Store({
            model: 'MyModel',
            proxy: {
                type: 'ajax',
                url: this.storeUrl
                // other options here
            }
        });
        this.callParent();
    }
});

然后你可以在以后使用它:

items: [{
    xtype: 'mygrid',
    storeUrl: '/foo/a'
}, {
    xtype: 'mygrid',
    storeUrl: '/foo/b'
}, {
    xtype: 'mygrid',
    storeUrl: '/foo/c'
}]