在ExtJS 4中,是否可以更改网格的存储方式?
例如,我有两个模型:
User = Ext.define('User',{
extend: 'Ext.data.Model',
[...],
hasMany: 'Product'
});
Product = Ext.define('Product',{
extend: 'Ext.data.Model',
[...]
});
还有两个网格。
第一个网格与存储相关联,使用User
模型,并从后端加载嵌套的JSON数据,例如
{
users: [{
id: 1,
products: [
{id: 1},
{id: 2}
]
}, {
id: 2,
products: [
{id: 3},
{id: 4},
{id: 5}
]
}]
}
我想要做的是,在第一个表格中单击行时,第二个表格必须显示用户的产品,而无需连接服务器。我知道的是,
user.products();
返回一个Ext.data.Store
对象。所以想法是将第二个表格的存储更改为
user.products();
,但是没有grid.setStore()
这样的方法 :-)先行致谢
getView
获取存储的Ext.grid.View
并使用新存储调用bindStore
方法。 - Justin Summerlingrid.getStore() != grid.getView().store
时,我可以看到潜在的问题出现。我还没有运行过用例,但是grid.store.load()
不会触发视图刷新。reconfigure
旨在允许网格更改存储,并且没有太多开销。 - pllee