반응형
1. 이벤트 처리 순서
데이터셋의 데이터가 수정되면 데이터셋 내부적으로 cancolumnchange -> oncolumnchanged 순서로 이벤트 발생
cancolumnchange : 데이터셋의 칼럼 값이 변경될 때 발생하는 이벤트
- false 값 반환하면 oncolumnchanged 이벤트 발생하지 않고 수정된 데이터도 원복
oncolumnchanged : 데이터셋의 칼럼값이 변경된 후 발생하는 이벤트
[예제]
[예제2]
cancolumnchange에서 false를 리턴하면, 데이터 수정시 데이터가 원복되며, oncolumnchange 이벤트는 발생하지 않는다.
2. 데이터 변경 시 이벤트 발생 멈추기
데이터셋은 데이터를 변경할 떄마다 이벤트가 발생하는데 잦은 이벤트 발생은 처리 속도 지연, 화면 깜빡임 등의 증상으로 나타낼 수 있다. 따라서 데이터가 많은 경우에는 변경 전에 이벤트를 껐다가 변경 후 다시 이벤트를 키도록 처리하면 이러한 증상 완화할 수 있다.
enableevent : 데이터셋에서 이벤트를 발생시킬지 여부 설정하는 속성
this.dataset1.set_enableevent(false); // 이벤트 발생 멈추기
/*
데이터 변경 작업 수행
*/
this.dataset1.set_enableevent(true);
3. 데이터 입력시 중복체크
findRowExpr : 조건표현식을 만족하는 첫 번째 row의 인덱스를 반환
// 데이터셋의 칼럼값이 변경될 때 발생하는 이벤트
this.ds_emp_cancolumnchange = function(obj:nexacro.NormalDataset,e:nexacro.DSColChangeEventInfo)
{
// FULL_NAME 칼럼 값과 데이터셋에서 새롭게 변경한 값(e.newvalue)을 비교.
// 현재 row 인덱스 값과 변경된 row 값(포커스되어있는 row 값)이 다를 때 비교
var nCnt = obj.findROwExpr("FULL_NAME == '" + e.newvalue + "' && currow != " + e.row);
if(nCnt > -1) {
this.alert("데이터 중복");
return false;
}
}
'Nexacro' 카테고리의 다른 글
[Nexacro] 주석 처리/해제 단축키 (0) | 2021.11.23 |
---|---|
[Nexacro] 동기&비동기 방식 (0) | 2021.11.22 |
[Nexacro] 로그 확인 방법 (0) | 2021.11.18 |
[Nexacro] 데이터셋(Dataset) '복사' 관련 메소드 정리 (0) | 2021.11.18 |
[Nexacro] 데이터셋(Dataset) 레코드 추가/삭제/반환 관련 메소드 정리 (0) | 2021.11.18 |
댓글