오늘은 XPLATFORM에서 실무에서 자주 사용하는 메서드들에 대해서 알아보려고 합니다.
이 내용을 이해하기 위해 먼저 알아야 하는 배경
- Dataset: XPLATFORM에서 데이터를 저장하고 처리하는 객체 (DB 테이블처럼 행과 열로 구성)
- Grid: Dataset을 UI로 보여주는 컨트롤 (HTML의 테이블과 유사)
- Row/Column 인덱스: 모두 0부터 시작하며, JavaScript와 유사한 방식으로 다룸
주요 특징 및 메서드 정리
1. getColumn
- 역할: 특정 행(Row)과 열(Column) 위치의 값을 가져옵니다.
- 구문:
-
javascript복사편집Dataset.getColumn(Row, ColumnIndex); Dataset.getColumn(Row, ColumnID);
- 예시:
-
javascript복사편집var value = Dataset00.getColumn(0, 1); // 0번째 행의 1번째 열 var name = Dataset00.getColumn(1, "name"); // 1번째 행의 name 컬럼
- 결과: 값 반환. 지정한 열이 없으면 undefined 반환.
2. setColumn
- 역할: 특정 셀의 값을 수정합니다.
- 구문:
-
javascript복사편집Dataset.setColumn(Row, ColumnIndex, Value); Dataset.setColumn(Row, ColumnID, Value);
- 예시:
-
javascript복사편집Dataset00.setColumn(0, 0, "1234"); Dataset00.setColumn(0, "name", "홍길동");
- 결과: 성공 시 true, 실패 시 false 반환
- 주의할 점:
- 지정된 행과 열이 존재해야 합니다.
- 새로운 행을 추가하려면 addRow() 또는 insertRow() 사용 필요
3. rowcount
- 역할: Grid에 바인딩된 Dataset의 전체 행 개수를 반환합니다.
- 구문:
-
javascript복사편집Grid.rowcount
- 결과: 데이터가 없으면 0
4. saveXML
- 역할: Dataset의 데이터를 XML 문자열로 직렬화합니다.
- 구문:
-
javascript복사편집Dataset.saveXML([strID[, strSaveType]]);
- 매개변수 설명:
- strID: 저장 시 사용할 데이터셋 이름 (생략 가능)
- strSaveType: 저장할 행의 종류 지정
- "normal": 기본값. Insert/Update된 행만 저장
- "all": 모든 행 저장
- "update": 변경된 행만 저장
- "view": 그리드 뷰에 보이는 것만 저장
- 예시:
-
javascript복사편집Dataset00.saveXML();
- 실무 팁:
- 서버와 연동하거나 디버깅할 때 saveXML() 결과를 Hoo WinTail 등의 로그 뷰어에서 보면, 실제 어떤 값이 서버로 전송되고 있는지 확인할 수 있어 매우 유용합니다.
실제 사용하는 사례
- 사용 중인 기관: 공공기관(정부 행정시스템), 금융사(은행 내부 포털), 대기업의 ERP 화면 등
- 실무에서는 화면에 보이는 데이터를 수정하거나, 서버와 통신 전 saveXML()로 로그를 남겨 디버깅합니다.
마무리 요약
메서드기능 요약
getColumn | Dataset에서 특정 셀의 값 가져오기 |
setColumn | Dataset의 특정 셀 값 설정 |
rowcount | Grid에 표시된 행 개수 확인 |
saveXML | Dataset 내용을 XML로 직렬화 |