0

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

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

是否可以在单击操作列上的还原/取消图标时仅重置/还原单个编辑的行(这将是此处此处提到的网格中的最后一列)

4

1 回答 1

2

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

例如,您可以为 Revert/Cancel 按钮的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

于 2013-05-03T15:10:16.180 回答