onDataLoad (event)

데이터가 시트 내에서 파싱되어 로드된 후에 발생합니다.
내부적인 로딩은 완료되었지만 화면에 반영(렌더링)은 일어나기 전 단계입니다.
이 시점에는 row 객체가 생성된 상태이므로, row 객체를 인자로 사용하는 함수들을 사용할 수 있습니다.

Syntax

    onDataLoad : function(paramObject) {

    }
or
    sheet.bind("onDataLoad" , function(paramObject) {});

Parameters

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:잘못된 데이터 형식
message string 조회 결과 json에 포함된 Message 내용
response object response 객체
type string 조회/엑셀 여부(Search, EXCEL)

Example

// row 객체가 생성된 상태이므로 행별 처리 가능
// 이후 자동으로 렌더링이 되므로 render:0으로 설정
options.Events = {
    onDataLoad:function(evtParam){
        if (evtParam.result == 0) {
            var rows = evtParam.sheet.getDataRows();
            for (var i = 0; i < rows.length; i++) {
                if (rows[i].status === "완료") {
                    // 완료 행의 배경색을 회색으로 설정
                    evtParam.sheet.setAttribute(rows[i], "", "Color", "#CCCCCC", 0);
                }
            }
        }
    }
}

// 셀 단위 속성 설정
options.Events = {
    onDataLoad:function(evtParam){
        if (evtParam.result == 0) {
            var rows = evtParam.sheet.getDataRows();
            for (var i = 0; i < rows.length; i++) {
                // 금액이 1000만 이상인 셀의 글자색을 빨간색으로 설정
                if (rows[i].price >= 10000000) {
                    evtParam.sheet.setAttribute(rows[i], "price", "TextColor", "#FF0000", 0);
                }
            }
        }
    }
}

Read More

Since

product version desc
core 8.0.0.0 기능 추가
core 8.0.0.26 type 추가