具体操作完成后,Dojo Gridx刷新表?

时间:2014-04-09 16:07:23

标签: javascript dojo grid dojo.gridx jsonreststore

我有一个使用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(); 

但是我无法在更新后刷新它?顺便说一句,我正在使用同步缓存。 任何帮助或建议将不胜感激!

提前致谢

1 个答案:

答案 0 :(得分:1)

您必须在声明商店时设置"clearOnClose:true""urlPreventCache:true"。将clearOnClose设置为true将使您的商店再次获取数据。否则,无论您是否使用查询,数据都只会被提取一次。

因此,在设置这些参数后,当您需要重新加载时,只需关闭商店。

store.close();

现在,刷新身体。数据将成功重新加载。

store.query().then(function() {
   grid.model.clearCache();
   grid.body.refresh();
});