【发布时间】:2012-02-14 14:05:59
【问题描述】:
我有一家商店:
var store = new Ext.data.store({
autoLoad: true,
autoSync: true,
model: 'myModel',
proxy: {
type: 'rest',
url: '/url/to/my/json/encoded/results',
reader: {
type: 'json',
root: 'results'
},
writer: {
type:'json'
}
}
});
这是我在其中显示这些结果的某些网格的存储。 我的网格配置如下:
var myGrid = new Ext.grid.Panel({
id:'myGridID',
layout:'anchor',
border:false,
title:'My Grid',
width:412,
store:store,
heigth:300,
frame:false,
.... etc
在某些时候,我向我的数据库添加了一个条目,它工作得很好(如果我重新加载页面,我会在我的网格中看到新添加的记录)。 我想要做的是重新加载网格,因此当我将该条目保存到我的数据库中时,商店和网格会自行刷新并显示新添加的记录,而无需我再次重新加载整个页面。
我试过了:
Ext.getCmp('myGridID').getStore().reload();
还有……
Ext.getCmp('myGridID').getStore().load();
还有……
Ext.getCmp('myGridID').getView().refresh();
我也尝试将商店设置为 Ext.data.JsonStore 但它什么也没做。
但没有任何效果,我一直在互联网上搜索这个没有成功。
感谢任何帮助。
【问题讨论】:
-
当你尝试运行时会发生什么:
myGrid.getStore().load(); -
Ext.getCmp('myGridID').getStore().load();应该可以工作 -
也许它确实会重新加载商店,但我仍然必须重新加载网页才能在网格中看到新记录
-
Ext.getCmp('myGridID').getView().refresh()应该可以工作。 -
也许它确实会重新加载商店,但我仍然必须重新加载网页才能在网格中看到新记录
标签: extjs grid refresh store reload