我创建了一个这样的GridPanel:
grid = new xg.GridPanel({
id: 'gridid',
store: store,
columns: [
...
稍后,我尝试获取元素,以便我可以将新数据加载到其中。在Sencha文档中,它声明loadData可用于GridPanel对象
所以我尝试了这个:
Ext.getCmp('gridid').loadData(store);
它会使控制台打印出这个错误:
Uncaught TypeError: Object [object Object] has no method 'loadData'
有趣的是,当我尝试
时Ext.getCmp('gridid').getStore().loadData(store);
此错误消失,当前商店从网格中消失,但它仍然为空,新商店未加载。请帮忙!
更新:当我在console.log商店时,我看到对象内部的所有信息应该出现,但它没有在网格中呈现。
答案 0 :(得分:3)
假设您传递到store
函数的loadData
与网格商店不同,请尝试以下操作:
var gridStore = Ext.getCmp('gridid').getStore();
gridStore.removeAll();
gridStore.add(store.getRange());
答案 1 :(得分:1)
我的Ext有点生疏,但我很确定loadData是传递数据本身(例如记录/对象数组),而不是商店。
你是如何申报商店的?是加载远程数据还是静态本地数据?
这里有一个使用loadData的例子:http://extjs.wima.co.uk/example/4
如果你正在使用远程数据,也许你只是在商店申报中缺少自动加载......