시트의 조회 관련 함수는 아래와 같습니다.


유형
함수명기능설명
기본 조회doSearchajax 통신 모듈이 포함되어 있으며, response로 받은 데이터를 자동으로 시트에 로딩 합니다.
cfg:{SearchMode : 0 or 1 or 2} 설정시 이 함수를 이용합니다.
페이징 조회doSearchPagingajax 통신 모듈이 포함되어 있으며, response로 받은 데이터를 자동으로 시트에 로딩 합니다. 
cfg:{SearchMode : 3 or 4 or 5} 설정시 이 함수를 이용합니다.
데이터 로드loadSearchDataajax 통신은 다른 모듈(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형식의 데이터를 시트에 로드합니다. 

비동기 형식으로 동작하므로, 데이터 로드 이후에 대한 처리는 onDataLoad 이벤트에서 로직을 구성하셔야 합니다.



//jquery를 이용한 ajax 통신
$.ajax({
    url: "./data.jsp",
    param: "edate=19950101&position=C1",
    success: function (rtnData) {
        //서버에서 가져온 json데이터를 로딩
        sheet.loadSearchData(rtnData);
    }
});