GRID FEATURE
데이터 스냅샷
스냅샷은 특정 시점의 rowData를 보관하고 현재 데이터 또는 다른 스냅샷과 비교합니다. 열 너비·필터·포커스를 저장하는 화면 상태 API와는 목적이 다릅니다.
동작 원리와 선택 기준
대량 수정 전 기준점을 만들고 수정 후 추가·변경·삭제를 비교하는 데 적합합니다. 보관 개수는 제한되어 있고 페이지를 벗어난 뒤 영구히 남는 서버 백업은 아닙니다.
코드의 grid는 설치와 연결 장에서 준비한 Grid 요소입니다. 예제마다 필요한 데이터·설정을 확인하고, 코드에서 소개하는 앱 함수와 서버 주소는 프로젝트에 맞게 구현하세요.
예제 1. 수정 전 기준점 만들기
일괄 작업을 시작하기 전에 이름을 붙여 저장합니다.
grid.maxSnapshots = 10;
const before = await grid.captureSnapshot('수량 조정 전');
console.log(before);결과 확인: 이후 비교나 복원에 사용할 ID가 반환됩니다.
예제 2. 현재 데이터와 비교
기준점 이후 편집을 마친 상태에서 차이를 확인합니다.
console.log(await grid.diffSnapshots(before));결과 확인: 두 번째 ID를 생략하면 현재 데이터와 비교합니다. 두 저장 시점끼리 비교하려면 두 번째 스냅샷 ID를 전달합니다.
예제 3. 되돌리기와 정리
사용자가 복원을 선택했을 때 실제 결과를 확인합니다.
const restored = await grid.restoreSnapshot(before);
console.log(restored, await grid.listSnapshots());결과 확인: 복원은 현재 데이터 값을 바꿉니다. 불필요한 기준점은 deleteSnapshot(id)로 제거하고 서버 변경을 되돌려야 한다면 별도의 저장 작업을 수행합니다.
조합할 때와 문제를 해결할 때
행 ID를 안정적으로 유지해야 어떤 행이 추가·수정·삭제되었는지 의미 있게 비교할 수 있습니다.
스냅샷 복원이 열 배치·필터까지 되돌린다고 안내하지 마세요. 화면 설정 복원은 getState()/setState()를 사용합니다.
함께 읽기
- 행·열·ID의 관계
- 결과와 이벤트 연결
- Features에서 살펴보기
직접 체험 가능한 범위는 해당 가이드에 안내되어 있습니다.