javascript - 如何恢复 dojo dgrid 中的单个编辑行?

标签 javascript dojo grid dgrid

有没有办法恢复/重置 dojo-dgrid 中编辑的行?

我可以看到 grid.revert() 确实清除了脏项目并调用刷新方法,这将刷新整个网格。我不想要整个网格刷新。

单击“操作”列上的“还原/取消”图标(这将是网格中的最后一列,如所述 herehere ),是否可以仅重置/还原单个编辑的行

最佳答案

如果您使用 Observable 包装您的商店,您可以使用 notify() 来更新单行。

例如,您可以为恢复/取消按钮的 onClick 事件创建以下代码:

 renderCell: function(object, data, cell){

   var btnRevert = new Button({
     label: "Revert",
     // ...
     onClick: function(evt){
       var dirty = that.grid.dirty,
           id = object.id;

       if(dirty.hasOwnProperty(id)){
         // remove dirty data
         delete dirty[id];
         // ..and notify the store to update
         myStore.notify(object, object.id);
       }
     }
   }, cell.appendChild(put("div")) );

   return btnRevert;
 }

这是一个带有示例的 jsfiddle:revert example

关于javascript - 如何恢复 dojo dgrid 中的单个编辑行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13192846/

相关文章:

dojo - 什么是 jQuery 的 innerHeight() 的 Dojo 等价物?

python - Tkinter 中的网格边框和边距为大

html - UL列表网格堆叠奇怪

javascript - 如何改进这个 jQuery 代码?

javascript - 为什么我收到 "Uncaught ReferenceError: React not defined"

javascript - Dojo 构建 css 和自定义 javascript

javascript - Dojo parseOnLoad 不起作用

javascript - 在相同的上下文中复制相同的东西

javascript - 当索引位于不同数组中时遍历 JSON 数据

css - 采用语义网格是否会迫使您使用 LESS?