0

dojo-dgrid で編集された行を元に戻す/リセットする方法はありますか?

ダーティ アイテムをクリアし、グリッド全体をリフレッシュする refresh メソッドを呼び出す grid.revert() を確認できます。このグリッド全体のリフレッシュは必要ありません。

アクション列の元に戻す/キャンセル アイコンをクリックすると、その単一の編集された行のみをリセット/元に戻すことができますか (ここここで述べたように、グリッドの最後の列になります)

4

1 に答える 1

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 を次に示します。

于 2013-05-03T15:10:16.180 に答える