XPLATFORM 101

- Dataset > Coding Control


제목은 Coding Control 이지만 메소드에 대한 설명입니다.

(1) getSum()
- 데이터셋의 요청된 범위에 지정된 값 또는 계산식의 합
- 컬럼 아이디, 시작 Row, 마지막 Row
- Int, Float, BigDecimal Type에서만 계산이 가능합니다. 그 외의 경우에는 0으로 처리

(2) getCaseSum()
- getSum()과 유사하지만 조건식이 첫번째 인자값에 추가된다는 점이 다름
ds.getSum("col1 > '4' ? col1 : 0")
이나
ds.getCaseSum("col1 > '4'", "col1")
는 같다는 이야기입니다.

(3) rowposition
- 현재의 Row를 지정하거나 반환하는 속성입니다.

(4) getRowCount()
- 데이터셋의 Row 수를 얻어오는 메소드입니다.
- 삭제, 필터링된 데이터는 제외합니다.

(5) getColumn()
- 지정된 Row의 컬럼 값을 구하는 메소드입니다.
- Row 위치, Column 인덱스 또는 Column 아이디로 찾을 수 있습니다.
- 지정된 컬럼이 없으면 undefined 를 반환합니다.

(6) setColumn()
- 지정된 Row의 컬럼 값을 지정하는 메소드입니다.
- getColumn()과 마찬가지로 Row 위치, Column 인덱스 또는 Column 아이디로 찾아서 값을 지정합니다.
- 이때 발생하는 이벤트는 cancolumnchange (return = true) → oncolumnchanged 순으로 진행되는데
데이터 처리 방식에 따라 어느 부분에서 처리를 할지 고민해야 하더군요.
- 이미 마이플랫폼 시절에도 해당 이벤트 처리에 대한 고민이 많았기 때문에
해당 내용을 참고하세요.

(7) findRowExpr()
- 주어진 조건식을 만족하는 첫번째 행의 index 를 반환합니다.
- 검색을 시작할 위치를 지정할 수 있기 때문에 약간만 손대면 다음,다음 검색위치를 찾을 수 있겠죠.

(8) findRow()
- 주어간 값과 일치하는 첫번째 index 를 반환합니다.
- findRowExpr()과 크게 다르지 않겠죠.

(9) appendData()
- 이름에서 알 수 있듯이 2개의 데이터셋이 합쳐지는 거네요.
- 추가하면서 몇가지 옵션이 있는데
bCheckCol 값이 true이면 같은 컬럼 ID만 추가됩니다.
Dataset00.appendData(Dataset01,true);
(10) clearData()
- 데이터셋에서 Column 정보를 제외한 모든 Row를 제거합니다.
- 실질적으로 제거하는 것이기 때문에 복구가 되지 않습니다.

(11) deleteAll()
- clearData()와 마찬가지로 Row를 삭제합니다.
- 데이터셋의 updatecontrol 속성이 true(기본값)일 경우에는 삭제는 되지만 삭제된 ROW 타입을 변경해 보관해둡니다.
- 가질 수 있는 RowType은 다음과 같습니다.
Dataset.ROWTYPE_EMPTY / 0 존재하지 않는 Row 상태 
Dataset.ROWTYPE_NORMAL / 1 초기 Row 상태 
Dataset.ROWTYPE_INSERT / 2 추가된 Row 상태 
Dataset.ROWTYPE_UPDATE / 4 수정된 Row 상태 
Dataset.ROWTYPE_DELETE / 8 삭제된 Row 상태 
Dataset.ROWTYPE_GROUP / 16 Group 정보 Row 상태 

(12) copyData()
- 데이터셋의 Row 데이터를 복사하는 것이라고 하는데...
덮어쓰기라고 표현해야 맞는게 아닌가 싶습니다.
- 대신 컬럼 ID가 일치하는 부분만 적용됩니다.

(13) mergeData()
- 지정된 데이터셋을 통합하는 메소드입니다.
- 그럼 앞에 있는 appendData()와 같은 것 같은데..
- 옵션이 없는 appendData() 정도라고 하면 될지 모르겠네요.

(14) applyChange()
- RowType을 초기 ROW 상태로 변환합니다.
- 해당 상수값을 보여줍니다.

(15) getDeletedRowCount()
- 삭제된 Row 수를 구하는 Method 입니다.

(16) getRowType()
- 지정된 Row의 타입을 구합니다.

(17) getOrgColumn()
- 지정된 Row, Column의 변경전 값을 구합니다.
- ROWTYPE이 NORMAL이면 현재값을 반환합니다.
- 새로운 컬럼을 추가한 경우에는 undefined가 됩니다.
- 업데이트를 몇번 하더라도 원래의 컬럼값은 apply 하기 전에는 변하지 않습니다.

(18) reset()
- 데이터셋의 Row 데이터를 마지막 상태로 복구합니다.
- 중간에 apply 가 되었다면 최초 데이터로 복구하는 것은 아닙니다.

http://cafe.naver.com/xplatform101/190