SYIDAX GRID

데이터와 이벤트

Grid API는 현재 상태를 읽거나 변경하는 호출이고, 이벤트는 사용자가 조작하거나 데이터가 바뀐 결과를 알리는 통로입니다. 둘을 연결하면 앱의 저장 버튼·상세 패널·변경 내역을 구성할 수 있습니다.

동작 원리와 선택 기준

대부분의 공개 메서드는 Promise를 반환하므로 await로 완료 결과를 읽습니다. 이벤트 이름은 대소문자를 구분하고 결과 payload는 CustomEvent.detail에 담깁니다.

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

예제 1. 수정 결과 읽기

편집 전후 값과 대상 셀은 이벤트의 실제 타입을 확인합니다.

javascript
const controller = new AbortController();
grid.addEventListener('cellValueChanged', event => {
  console.log(event.detail);
}, { signal: controller.signal });

결과 확인: 몇 번째 이벤트인지 세는 대신 실제 변경 결과로 앱의 저장 대상을 구성합니다.

예제 2. 호출 결과 확인

선택한 행은 원본 배열의 앞부분이라고 가정하지 않고 API에서 읽습니다.

javascript
const selectedIds = await grid.getSelectedRowIds();
console.log(selectedIds);

결과 확인: 선택 ID를 바탕으로 승인·내보내기 대상을 정합니다. 호출한 것과 서버 저장 완료는 다른 단계입니다.

예제 3. 화면 해제 때 정리

첫 번째 예제의 AbortController로 구독을 일괄 해제합니다.

javascript
controller.abort();

결과 확인: 화면을 다시 열 때 이벤트가 중복으로 실행되지 않습니다. 앱이 만든 WebSocket·타이머·요청도 함께 정리하세요.

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

이벤트를 받은 뒤 같은 값을 다시 쓰는 코드는 이벤트 순환을 만들 수 있습니다. 사용자 변경과 앱 반영의 출처를 구분합니다.

이벤트의 rowIndex와 안정적인 rowId를 혼동하지 마세요. 장기 저장 키는 ID를 사용합니다.

함께 읽기