我有一个使用Gridx创建的网格,用于监控和管理条目。当用户单击表格的一行时,会弹出一个对话框,允许用户选择忽略或响应。单击任何一个时,我必须更新我的SQL数据库中的条目(从中获取此信息的同一个表)然后我希望网格使用更新的信息进行刷新。
基本上,在根据用户选择的内容更新SQL数据库之后,我希望网格使用UPDATED信息进行刷新。
我是dojo的新手和商店的用户所以请怜悯:P。
我的网格是这样创建的:
var memoryStore = new Memory();
var jsonRest = new JsonRest({target:url, idProperty:"username", sortParam: "sortBy"});
var store = new Cache(jsonRest, memoryStore);
var grid = new Grid({......});
/*this could be very wrong, but its the only way I could get
my data to load on first load - any corrections would be appreciated*/
store.query{{}).then(function() {
grid.model.clearCache();
grid.body.refresh();
});
grid.startup();
但是我无法在更新后刷新它?顺便说一句,我正在使用同步缓存。 任何帮助或建议将不胜感激!
提前致谢
答案 0 :(得分:1)
您必须在声明商店时设置"clearOnClose:true"
和"urlPreventCache:true"
。将clearOnClose设置为true将使您的商店再次获取数据。否则,无论您是否使用查询,数据都只会被提取一次。
因此,在设置这些参数后,当您需要重新加载时,只需关闭商店。
store.close();
现在,刷新身体。数据将成功重新加载。
store.query().then(function() {
grid.model.clearCache();
grid.body.refresh();
});