GRID FEATURE · PRO

일괄 편집

배치 편집은 여러 셀의 수정 사항을 임시로 모았다가 한 번에 확정하거나 취소합니다. 임시 값과 확정된 rowData를 구분해야 저장 버튼의 동작이 명확해집니다.

동작 원리와 선택 기준

배치 편집을 시작한 뒤 stageBatchCell에 행 ID·열 ID·새 값을 전달합니다. 존재하지 않는 대상과 편집 불가 열은 적용되지 않을 수 있습니다.

이 기능을 제품에서 사용하려면 Pro 패키지와 유효한 라이선스가 필요합니다. 설정 이름이 같더라도 Community에서 Pro 기능이 활성화되는 것은 아닙니다.

코드의 grid는 설치와 연결 장에서 준비한 Grid 요소입니다. 예제마다 필요한 데이터·설정을 확인하고, 코드에서 소개하는 앱 함수와 서버 주소는 프로젝트에 맞게 구현하세요.

예제 1. 두 주문 수정 모으기

사용자가 저장을 누르기 전까지 변경을 준비합니다.

javascript
await grid.startBatchEdit();
await grid.stageBatchCell('ORD-0001', 'quantity', 25);
await grid.stageBatchCell('ORD-0002', 'quantity', 50);
console.log(await grid.getPendingBatchCells());

결과 확인: 임시 변경 목록을 읽을 수 있습니다. 준비 작업 자체를 서버 저장 완료로 표시하지 않습니다.

예제 2. 검토 후 확정

저장 동작에서 배치 결과를 확인합니다.

javascript
console.log(await grid.commitBatchEdit());
console.log(await grid.isBatchEditing());

결과 확인: 검증·권한에 따른 적용 보고서를 확인한 뒤 서버 저장을 이어갑니다. 아직 세션이 남았는지도 확인하세요.

예제 3. 전체 취소와 내장 도구

사용자가 취소하면 배치에 모인 변경을 버립니다. 내장 도구를 표시할 수도 있습니다.

javascript
await grid.cancelBatchEdit();
grid.batchEditToolbar = true;

결과 확인: 미확정 변경이 취소되고 확정 전 값이 유지됩니다. 이전에 확정한 작업까지 지우는 동작은 아닙니다.

조합할 때와 문제를 해결할 때

배치 중 서버에서 새 데이터가 도착하면 편집 기준과 충돌할 수 있습니다. 갱신을 잠시 모으거나 충돌 안내를 제공하는 정책이 필요합니다.

배치 확정과 서버 트랜잭션은 같은 것이 아닙니다. 서버 저장이 실패하면 사용자에게 재시도·되돌리기 선택을 제공하세요.

함께 읽기