시트의 조회 관련 함수는 아래와 같습니다.
기본적으로 비동기로 동작하므로, 데이터 로드 이후 구현해야 하는 로직이 있다면 반드시 이벤트(onReceiveData, onBeforeDataLoad, onDataLoad, onSearchFinish)를 이용하거나 sync 속성값을 동기로 설정하면 됩니다.
성능은 비동기 처리 방식이 더 좋습니다.
| 유형 | 함수명 | 기능설명 |
|---|---|---|
| 기본 조회 | doSearch | ajax 통신 모듈이 포함되어 있으며, response로 받은 데이터를 자동으로 시트에 로딩 합니다. cfg:{SearchMode : 0 or 1 or 2} 설정시 이 함수를 이용합니다. |
| 페이징 조회 | doSearchPaging | ajax 통신 모듈이 포함되어 있으며, response로 받은 데이터를 자동으로 시트에 로딩 합니다. cfg:{SearchMode : 3 or 4 or 5} 설정시 이 함수를 이용합니다. |
| 데이터 로드 | loadSearchData | ajax 통신은 다른 모듈(Axios, jquery 등)에서 처리 하며, response로 받은 데이터를(string 혹은 object) 시트에 로딩 합니다. cfg:{SearchMode : 0 or 1 or 2} 설정시 이 함수를 이용합니다. |
1. doSearch 로 조회하기
response로 받은 데이터를 자동으로 시트가 바인딩 합니다.
// GET 방식으로 데이터 조회
sheet.doSearch("./insaAppMain.do", "dept_cd=031&position_cd=A0", "GET");
// POST 방식으로 데이터 조회
var opt = {
url: "./insaAppMain.do",
param: {"dept_cd": 031, "position_cd": "A0"},
method: "POST",
reqHeader: {"Content-Type":"application/json"}
};
sheet.doSearch(opt);2. doSearchPaging 로 조회하기
페이징 조회(cfg:{SearchMode:3 or 4}) 시 반드시 doSearchPaging을 사용해야 합니다.
최초 조회데이터 JSON에 Total 속성을 통해 전체 데이터 건수를 갖고 오면, 한 페이지에 표시될 데이터 갯수인 PageLength 만큼 페이지를 나누어 조회 됩니다.
//SearchMode가 3이거나 4인 경우 조회 함수
var opt = {
"url":"/cust/getCustInfo.do",
"param":"custId=92123&empId=24342",
"method":"POST",
"callback":function (rtn) {
var rtnData = JSON.parse(rtn.data);
alert("전체 데이터 건수 :" + rtnData["Total"]);
}
};
sheet.doSearchPaging(opt);
//조회 데이터 예시
{
"Total":254141 //전체 데이터 건수
"Data":[
{},...,{} //PageLength에서 설정한 건수만큼 조회
]
}페이지 네비게이션의 페이지 번호가 변경되거나 스크롤 위치가 이동하여 페이지 번호가 변경되는 경우, ibpage의 파라미터는 자동으로 페이지 번호를 붙여 호출됩니다.

3. loadSearchData 로 조회하기
ajax 통신을 통해 받아온 json형식의 데이터를 시트에 로드합니다.
//jquery를 이용한 ajax 통신
$.ajax({
url: "./data.jsp",
param: "edate=19950101&position=C1",
success: function (rtnData) {
//서버에서 가져온 json데이터를 로딩
sheet.loadSearchData(rtnData);
}
});