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


유형
함수명기능설명
기본 조회doSearchajax 통신을 통해 지정한 URL을 호출하여 리턴된 json을 시트에 로딩합니다.
페이징 조회doSearchPaging페이징 조회(cfg:{SearchMode:3 or 4}) 사용 시 해당 페이지에 대한 데이터를 서버에서 조회해서 표시합니다.
데이터 로드loadSearchDatajson 데이터(string 혹은 object)를 시트에 로딩합니다.



1. doSearch 로 조회하기


ajax 통신을 통해 서버로부터 데이터를 받아옵니다.

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


// 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);
    }
});



4. 조회 시점 설정


시트 생성 함수 IBSheet.create()비동기 방식으로 동작하기 때문에 생성 후 시트의 기능 함수를 바로 호출 할 때 오류가 발생할 수 있습니다.


//시트 생성 함수
IBSheet.create({ ... });
//비동기적으로 생성됨으로 "sheet"객체가 생성되었는지 알 수 없다.


따라서 시트 생성 후 함수 호출은 onRenderFirstFinish 이벤트에 구현하셔야 합니다.