롤백
loadData() 함수 등으로 데이터셋을 처음 가져올 때나 혹은 데이터셋이 변경된 후 특정 시점(savePoint)에, DataProvider에 저장되어 있는 데이터셋의 전체 복사본을 별도로 저장해 두고 이 후에 이 값들로 DataProvider를 복원(rollback) 시킬 수 있습니다.
rollback함수는 savePoint로 저장한 데이터복사본을 이용하여 DataProvider를 복원합니다.
지정된 savePoint
로 데이터를 복원하면 이후의 DataProvider savePoint들은 삭제됩니다.
최초복제된 데이터셋은 rollBack을 이용해서 복원은 할수 있지만 삭제를 할수 없기 때문에 DataProvider clearSavePoints 를 이용하여 삭제합니다.
savePoint
를 지정하지 않으면 최초복제로 복원됩니다.
1
2
3
4
5
6
//savePoint 생성
dataProvider.savePoint(true);
//롤백
dataProvider.rollback(savePoint);
//savePoint 초기화
dataProvider.clearSavePoints();
현재 row의 RowState를 함께 저장합니다.
복원시점 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//복원시점 만들기
$('#btnSavePoint').click(function() {
gridView.cancel();
dataProvider.savePoint($("#chkStates").is(":checked"));
refreshPoints();
});
//데이터 복원하기
$('#btnRollBack').click(function() {
var point = $("#listPoints").val();
gridView.cancel();
dataProvider.rollback(point); // point를 생략하면 최초 복제로 복원
refreshPoints();
});
//savePoint 초기화
$('#btnClearPoints').click(function() {
dataProvider.clearSavePoints();
refreshPoints();
});
function refreshPoints() {
var points = dataProvider.getSavePoints();
var list = $("#listPoints");
list.empty();
$.map(points, function (c) {
$("<option />", { value: c, text: "savePoint_" + c }).appendTo(list);
});
}