2012-11-02 59 views
0

有沒有辦法恢復/重置dojo-dgrid中編輯過的行?如何恢復dojo dgrid中的單個編輯行?

我可以看到grid.revert(),它清除髒項並調用刷新方法,刷新整個網格。我不想整個網格刷新。

是否可以重置/恢復只是一個編輯一行,在點擊操作欄一還原/刪除圖標(這將是在網格中的最後一欄提到herehere

回答

2

如果你用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