JSON형식의 데이터를 시트에 바인딩합니다. AJAX 통신 없이 데이터만 로드합니다.
SearchMode 0, 1, 2에서 사용합니다.
AJAX 통신이 필요한 경우 doSearch를 사용하세요.
비동기형식으로 동작하므로, 데이터 로드 후 처리는 onReceiveData, onBeforeDataLoad, onDataLoad 이벤트에서 구현해야 합니다.
기본적으로loadSearchData는 시트의 기존 데이터를 제거하고 데이터를 로드합니다.
기존 데이터 뒤에 새 데이터를 추가하려면append: true옵션을 사용하세요.
JSON 데이터 구조와 관련된 상세 내용은 조회 응답 규격을 참고하세요.
조회 시 자동 포커스 (Cfg)IgnoreFocused, 메시지 표시 (Cfg)SuppressMessage, 프로그레스바 (Cfg)SearchProgress를 참고하세요.
void loadSearchData( data, append, callback, sync, next, strictParse, parent, ignoreEvent );
| Name | Type | Required | Description |
|---|---|---|---|
| data | string | object | array |
필수 | JSON형식의 데이터{Data:[{...}]}, '{Data:[{...}]}', [{...}] 형태 모두 가능 |
| append | boolean |
선택 | 기존 데이터 하단에 append 여부조회 방식의 차이로 인해 append:1(true)사용 시 SearchMode:2인 경우 onRenderFinish이벤트가 발생하지 않습니다.0(false):기존 데이터 제거 후 조회 데이터 로드 (default)1(true):기존 데이터에 조회 데이터 추가 |
| callback | function |
선택 | 조회 후 호출할 콜백 함수 ex) sheet: 시트 객체, data: 조회 데이터, result(0): 조회 성공 |
| sync | boolean |
선택 | 동기 조회 여부. 0(false): 비동기 방식 (default)1(true): 동기 방식 |
| next | object |
선택 | 데이터 로우 객체 지정한 행 위에 데이터가 추가됨. ( append:1(true)일때만 사용 가능) |
| strictParse | boolean |
선택 | JSON 파서 선택0(false):유연한 파서 사용 (default) — 여분의 콤마, 프로퍼티 이름 쌍따옴표 생략 허용1(true):브라우저 JSON.parse() 사용 (약 5배 빠르나 5만건 이내에서는 차이 미미) |
| parent | object |
선택 | 데이터 로우 객체 (동적 트리 조회 사용시 부모에 해당하는 행 지정) |
| ignoreEvent | boolean |
선택 | 조회 관련 이벤트를 발생시키지 않도록 하는 인자 0(false):조회 관련 이벤트를 발생 시킴 (default)1(true):조회 관련 이벤트를 발생 시키지 않음 |
none
var DATA = {"Data":[
{"EMP_ID":"08212","EMP_NM":"홍길동","DEPT_CD":"031"},
{"EMP_ID":"07417","EMP_NM":"허균","DEPT_CD":"120"},
{"EMP_ID":"02600","EMP_NM":"홍판서","DEPT_CD":"405"},
]};
// 기본 조회 — 기존 데이터를 제거하고 로드
sheet.loadSearchData(DATA);
// 기존 데이터 밑에 데이터를 append
sheet.loadSearchData(DATA, 1);
// 지정한 행 위에 데이터가 추가됨
sheet.loadSearchData({ data: DATA, append: true, next: sheet.getRowByIndex(3) })
// Level 기반 트리 데이터를 Items 구조로 변환하여 로드
// 최상위 노드는 0, 하위 노드는 부모보다 1씩 증가
var treeData = {
"Data":[
{Level:0, sProduct:"내부 시스템 개발 사업", sKind:"프로젝트", sPrice:"29"},
{Level:1, sProduct:"글로벌 통합 인사시스템", sKind:"프로젝트", sPrice:"192"},
{Level:2, sProduct:"물산 E-HR시스템", sKind:"기타", sPrice:"4"},
{Level:2, sProduct:"제조 E-HR시스템", sKind:"기타", sPrice:"4"},
]
};
var convertData = IBSheet.v7.convertTreeData(treeData);
sheet.loadSearchData(convertData);
// 대기 이미지 처리 (jQuery BlockUI 사용 예시)
// 대기 이미지는 렌더링 완료 후 onSearchFinish에서 닫는 것을 권장합니다.
$.ajax({
url: "./insaAppMain.do",
method: "POST",
data: { dept_cd: "031" },
beforeSend: function() {
$.blockUI();
},
success: function(data) {
sheet.loadSearchData(data);
// $.unblockUI(); // 여기서 닫으면 시트에 데이터가 렌더링 되기 전에 닫힘
},
error: function() {
alert("조회에 실패했습니다.");
$.unblockUI();
}
});
// 렌더링 완료 후 대기 이미지 닫기
options.Events = {
onSearchFinish: function(evtParam) {
$.unblockUI();
}
}
| product | version | desc |
|---|---|---|
| core | 8.0.0.0 | 기능 추가 |
| core | 8.0.0.6 | sync 인자 추가 |
| core | 8.0.0.7 | next, strictParse 인자 추가 |
| core | 8.0.0.25 | parent 인자 추가 |