데이터가 시트에 로드되기 전에 발생하는 이벤트입니다.
데이터가 시트 내부에서 파싱되기 전 단계이므로 row 객체가 생성되지 않아 row 객체를 인자로 사용하는 함수는 사용할 수 없습니다.
이 시점에서는 이벤트 파라미터인data객체를 활용하여 데이터를 가공할 수 있습니다.파싱이 완료된 이후에는 onDataLoad이벤트가 발생합니다.
onBeforeDataLoad:function(paramObject) {
}
or
sheet.bind("onBeforeDataLoad" , function(paramObject) {});
| Name | Type | Description |
|---|---|---|
| sheet | object |
데이터를 로딩할 시트 객체 |
| result | number |
1. 서버를 통한 조회 시(doSearch)0:성공-1:빈 URL (예: sheet.doSearch(""))-3:요청 Url이 잘못된 경우나 네트워크 오류 등으로 결과를 받지 못한 경우-5:응답 결과가 빈값인 경우-6:연결 시간 초과((cfg)Timeout 초과)-7:잘못된 데이터 형식(대부분 데이터 이상)이외:사용자 정의 코드2. 일반 데이터 조회 시(loadSearchData) 0:성공-7:잘못된 데이터 형식 |
| data | object |
시트에 로딩될 데이터 |
| message | string |
조회 결과 json에 포함된 Message 내용 |
| response | object |
response 객체 |
none
// 조회 후 오류에 대한 예시
options.Events = {
onBeforeDataLoad:function(evtParam){
if (evtParam.result === -100) {
alert("세션이 종료되었습니다.\n로그인 화면으로 이동합니다.");
location.href = "/login.do";
} else if (evtParam.result < 0) {
alert("조회 중 오류가 발생하였습니다.\n" + evtParam.message);
}
}
}
// 조회된 내용에 대한 수정 예시
options.Events = {
onBeforeDataLoad:function(evtParam){
// 조회 결과 데이터
var DATA = evtParam.data;
// 조회된 데이터 일부를 수정한다.
for(var i = 0; i < DATA.length; i++){
var row = DATA[i];
// AttrYn 컬럼에 값이 Y 인 경우 ConfirmFinish 컬럼에 "결정완료"를 설정하고
// 해당 행의 Edit를 막는다. (data 객체를 직접 수정하면 시트에 반영되므로 별도 리턴은 필요 없음)
if(row["AttrYn"] == "Y"){
row["ConfirmFinish"] = "결정완료";
row["CanEdit"] = 0;
}
// 셀 단위 속성 설정 (컬럼명 + 속성명)
if(row["price"] >= 10000000){
row["priceTextColor"] = "#FF0000"; // price 셀의 글자색을 빨간색으로 설정
}
}
}
}
// ibsheet-common.js에서 공통 오류 처리 (공통 이벤트 처리 방법 참고)
IBSheet.onBeforeCreate = function(obj) {
var options = obj.options;
options.Events = options.Events || {};
// 기존 화면에 설정된 이벤트를 담아둠
var origEvent = options.Events.onBeforeDataLoad;
// 공통 이벤트를 먼저 실행하고, 이후 화면단의 이벤트를 실행
options.Events.onBeforeDataLoad = function(evtParam) {
// 공통 오류 처리
if (evtParam.result === -100) {
alert("세션이 종료되었습니다.");
location.href = "/login.do";
return;
} else if (evtParam.result < 0) {
alert("오류가 발생하였습니다.\n" + evtParam.message);
return;
}
// 개별 페이지 이벤트 호출
if (origEvent) return origEvent(evtParam);
};
return obj;
};
// 조회 결과 json 참고
{
//IO,Result,Message 대소문자 주의!
"IO":{"Result":100,"Message":"정상조회완료"},
"Data":[ ... ]
}
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |