SMART datagrid v1.4 > Examples
일반적인 문서 편집 어플리케션과 마찬가지로, SMART datagrid는 사용자 입력이나 데이터셋 수정을 단계별로 되돌리거나(Undo), 다시 실행(Redo)할 수 있는 기능을 제공한다.
GridBase.undoable과 DataSet.undoable을 모두 true로 지정하면, 실행 시간 사용자는 "Ctrl+Z", "Ctrl+Y" 키를 입력해서 수정 이력을 되돌리거나 다시 진행할 수 있고, Script에서는 GridBase.undo, redo를 호출하면 된다.
(ctrl+Z, cmd+Z) (ctrl+Y, cmd+Y)
데이터 수정은 그리드와 데이터셋 수준에서 발생할 수 있는데, 그리드에서는 사용자가 행을 수정, 추가할 때 발생하고, 데이터셋 수정은 그리드에서 편집 완료된 데이터가 데이터셋에 전달되거나, 데이터셋 Api 함수를 직접 호출할 때 발생한다.
그리드 행 편집 중 Undo/Redo를 가능하게 하려면 GridBase.undoable를 true로 지정한다. 또, 데이터셋 수준의 Undo/Redo를 가능하게 하려면 DataSet.undoable를 true로 지정한다. 대개의 경우 사용자에게 Undo/Redo UI를 제공할 때 두 속성을 모두 true를 지정하면 된다.
dataset.setUndoable(true);
grid.setUndoable(true);
현재 Undo/Redo 가능 여부는 GridBase.onUndoStateChanged 이벤트로 알 수 있다.
grdMain.onUndoStateChanged = function (grid, canUndo, canRedo) {
document.getElementById('btnUndo').disabled = !canUndo;
document.getElementById('btnRedo').disabled = !canRedo;
};