====== 그리드 소계행 다단 소계 가이드 ====== 그리드 컴포넌트 소계행 다단 소계 예시 화면이다. 소계 정보는 멀티로 지정이 가능하며, 정의된 순서대로 소계 데이터를 계산하여 표시된다. 소계 정보는 멀티로 지정이 가능하며, 각 소계행은 소계 데이터 계산 기준 소계 정보 인덱스(zero-based) 정보를 가지고 있다. 관련 API로는 deletestatmid, deleteallstatmid, addstatmid, getstatmidcount, getstatmidindex가 있다. ===== 예시 ===== 템플릿 위치: /HTML5/COMPONENT/GRID/grid_midstat_multi 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_midstat_multi.xml|grid_midstat_multi.xml]] * [[xf5projecthome>template/screen/HTML5/COMPONENT/GRID/grid_midstat_multi.js|grid_midstat_multi.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/GRID/grid_midstat_multi|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== // "deletestatmid" 버튼 이벤트 function btn_deletestatmid_on_click(objInst) { var midstat_index; // 소계 정보중 마지막 인덱스를 구하여 삭제 midstat_index = grdList.getstatmidcount() - 1; if (midstat_index >= 0) { // 특정 소계 정보 및 특정 소계 정보 기준 소계 데이터 삭제 grdList.deletestatmid(midstat_index); } } // "deleteallstatmid" 버튼 이벤트 function btn_deleteallstatmid_on_click(objInst) { // 전체 소계 정보 및 소계 데이터 삭제 grdList.deleteallstatmid(); } // "addstatmid" 버튼 이벤트 function btn_addstatmid_on_click(objInst) { var midstat_index; // 다중소계 // 첫번째 보일 소계는 0, 1번 컬럼 데이터를 기준으로 소계를 보여줌 midstat_index = this.grdList.addstatmid(XFD_GRID_MIDSTAT_SUM, "0,1", "시별 소계(합계)", 1, factory.rgb(0, 0, 0), factory.rgb(239, 249, 188)); factory.consoleprint("midstat_index = " + midstat_index); // 두번째 보일 소계는 0번 컬럼 데이터를 기준으로 소계를 보여줌 midstat_index = this.grdList.addstatmid(XFD_GRID_MIDSTAT_SUM, "0", "지역별 소계(합계)", 0, factory.rgb(0, 0, 0), factory.rgb(254, 240, 201)); factory.consoleprint("midstat_index = " + midstat_index); // 추가된 소계 정보로 소계가 나타나도록 refresh호출 // 만약 초기 데이터가 없고 조회시에 그리드에 데이터 추가 되는 경우에는 굳이 지금 시점에 refresh할 필요없음. this.grdList.refresh(); } // "getstatmidcount" 버튼 이벤트 function btn_getstatmidcount_on_click(objInst) { screen.alert("소계 정보 수 = " + grdList.getstatmidcount()); } // "getstatmidindex" 버튼 이벤트 function btn_getstatmidindex_on_click(objInst) { var midstat_info_index, row_index, row_count; row_count = grdList.getrowcount(); if (row_count == 0) { return; } row_index = row_count - 1; midstat_info_index = grdList.getstatmidindex(row_index); screen.alert(row_index + "행은 소계행입니다. 소계행 정보 인덱스 = " + midstat_info_index); }