是否有远程覆盖/替换GridPanel的商店?
我有一个有虚拟商店的网格,因为如果我没有声明为商店,我会收到错误:
this.ds is undefined
提交表单后,它会进行GET REST调用&使用结果加载JSON存储。我希望这个商店成为我网格的商店,并将其显示在formPanel下面。 我可以让它显示&返回JSON但似乎无法替换商店。
我尝试过使用 searchGrid.store = formStore //从表单提交返回的JSONStore
修改 这个如果数据存储:
var formStore = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: '...',
method: 'GET'
}),
root: 'Report',
fields:[
....]
});
这是商店的加载/更改:
var data = this.getForm().getValues();
formStore.load({
params: {
fields: Ext.encode(data)
}
});
var grid = Ext.getCmp('search');
Ext.apply(grid, {store: formStore});
grid.show();
答案 0 :(得分:2)
试试这个
myGridPanel.getStore().proxy.setApi({read: url});
myGridPanel.getStore().load();
当我想从另一个网址
读取数据时,我正在使用此解决方案答案 1 :(得分:1)
grid.reconfigure(store, colModel);
对我来说很好。 formStore.data
是否与Grid的列配置兼容?如果没有更改,则无需在reconfigure
调用中指定列模型。
显示formStore.data
和网格配置的一部分。
答案 2 :(得分:0)
您是否尝试过Ext.apply()?
来自api:
apply(Object object,Object config,Object defaults):Object
编辑:
以下是您使用它的方式:
Ext.apply(myGrid, { store : mystore }); //no need for the third parameter, but if you do want a default, then you can use one
答案 3 :(得分:0)
根应该在读者内部吗?喜欢这个
var formStore = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: '...',
method: 'GET'
}),
reader: {
type: 'json',
root: 'Report'
},
fields:[
....]
});
答案 4 :(得分:0)
我设法通过将jsonStore移动到网格本身并使其成为单身来解决这个问题。然后使用StoreMgr
从表单中引用它