그리드 체크로우 기본 가이드
그리드 체크로우는 그리드 행의 체크 상태를 제공하기 위한 기능이다.
그리드 체크로우 상태는 링크된 데이터셋에 동기화된다.
관련 속성으로 use_checkrow, multi_checkrow, multi_check_mode가 있다.
관련 이벤트로 on_checkrowclick, on_checkrowchange가 있다.
관련 API로 getcheckedrowcount, getcheckedrow, ischeckedrow, setcheckedrow, setcheckedallrow, togglecheckedrow, deletecheckedrow가 있다.
예시
템플릿 위치: /HTML5/COMPONENT/GRID/grid_checkrow_basic
템플릿 파일
화면 스크립트
/** * 체크로우 클릭 이벤트 * @param objInst 그리드 인스턴스 * @param nRow 행 인덱스 (헤더부인 경우, -1) * @param bCheckedRow 체크 상태 (체크상태: 1, 해제상태: 0) */ function grd_checkrowevent_on_checkrowclick(objInst, nRow, bCheckedRow) { factory.consoleprint("on_checkrowclick> name = " + objInst.getname()); factory.consoleprint("on_checkrowclick> nRow = " + nRow); factory.consoleprint("on_checkrowclick> bCheckedRow = " + bCheckedRow); this.grd_checkreventlog.insertitemtext(0, 0, "on_checkrowclick"); this.grd_checkreventlog.setitemtext(0, 1, objInst.getname()); this.grd_checkreventlog.setitemtext(0, 2, nRow); this.grd_checkreventlog.setitemtext(0, 3, bCheckedRow); } /** * 체크로우 변경 이벤트 * @param objInst 그리드 인스턴스 * @param nRow 행 인덱스 (헤더부인 경우, -1) * @param nCheckState 체크 상태 (체크상태: 1, 해제상태: 0, 부분체크상태: 2) */ function grd_checkrowevent_on_checkrowchange(objInst, nRow, nCheckState) { factory.consoleprint("on_checkrowchange> name = " + objInst.getname()); factory.consoleprint("on_checkrowchange> nRow = " + nRow); factory.consoleprint("on_checkrowchange> nCheckState = " + nCheckState); this.grd_checkreventlog.insertitemtext(0, 0, "on_checkrowchange"); this.grd_checkreventlog.setitemtext(0, 1, objInst.getname()); this.grd_checkreventlog.setitemtext(0, 2, nRow); this.grd_checkreventlog.setitemtext(0, 3, nCheckState); } // "그리드 체크 관련 이벤트 모두 삭제" 버튼 이벤트 function btn_delete_checkreventlog_on_click(objInst) { // 그리드 이벤트 내용 행 모두 삭제 this.grd_checkreventlog.deleteall(); } // "getcheckedrowcount" 버튼 이벤트 function btn_getcheckedrowcount_on_click(objInst) { var check_row_count; // 체크된 행의 개수를 구함 check_row_count = this.grd_checkrowapi.getcheckedrowcount(); factory.consoleprint("check_row_count = " + check_row_count); screen.alert("check_row_count = " + check_row_count); } // "getcheckedrow" 버튼 이벤트 function btn_getcheckedrow_on_click(objInst) { var select_row; // 선택된 행 인덱스를 구함 select_row = this.grd_checkrowapi.getselectrow(); factory.consoleprint("select_row = " + select_row); // 선택된 행의 다음행부터 체크된 행을 찾음 check_row_index = this.grd_checkrowapi.getcheckedrow(select_row + 1); factory.consoleprint("check_row_index = " + check_row_index); screen.alert("check_row_index = " + check_row_index); } // "ischeckedrow" 버튼 이벤트 function btn_ischeckedrow_on_click(objInst) { var is_checked, select_row; // 선택된 행 인덱스를 구함 select_row = this.grd_checkrowapi.getselectrow(); factory.consoleprint("select_row = " + select_row); // 행의 체크 상태를 구함 is_checked = this.grd_checkrowapi.ischeckedrow(select_row); factory.consoleprint("is_checked = " + is_checked); screen.alert(select_row + "헹 체크 상태 = " + is_checked); } // "setcheckedrow" 버튼 이벤트 function btn_setcheckedrow_on_click(objInst) { var is_checked, select_row; // 선택된 행 인덱스를 구함 select_row = this.grd_checkrowapi.getselectrow(); factory.consoleprint("select_row = " + select_row); // 행의 체크 상태를 구함 is_checked = this.grd_checkrowapi.ischeckedrow(select_row); // 행의 체크 상태를 기준으로 체크 상태 토글 처리 if (is_checked) { this.grd_checkrowapi.setcheckedrow(select_row, false); } else { this.grd_checkrowapi.setcheckedrow(select_row, true); } } // "togglecheckedrow" 버튼 이벤트 function btn_togglecheckedrow_on_click(objInst) { var is_checked, select_row; // 선택된 행 인덱스를 구함 select_row = this.grd_checkrowapi.getselectrow(); factory.consoleprint("select_row = " + select_row); // 행의 체크 상태를 기준으로 체크 상태 토글 처리 this.grd_checkrowapi.togglecheckedrow(select_row); } // "setcheckedallrow" 버튼 이벤트 function btn_setcheckedallrow_on_click(objInst) { var row_count, check_row_count; // 행 갯수와 체크된 행 갯수를 구함 row_count = this.grd_checkrowapi.getrowcount(); check_row_count = this.grd_checkrowapi.getcheckedrowcount(); // 전체 행이 체크된 상태인 경우 if (row_count == check_row_count) { // 전체 행 체크 상태 헤제 처리 this.grd_checkrowapi.setcheckedallrow(false); } else { // 전체 행 체크 상태 처리 this.grd_checkrowapi.setcheckedallrow(true); } } // "deletecheckedrow" 버튼 이벤트 function btn_deletecheckedrow_on_click(objInst) { // 체크로우에 체크된 행들을 삭제 처리 this.grd_checkrowapi.deletecheckedrow(); } // "enablecheckrowex" 버튼 이벤트 function btn_enablecheckrowex_on_click(objInst) { var is_enabled, select_row; // 선택된 행 인덱스를 구함 select_row = this.grd_checkrowapi.getselectrow(); factory.consoleprint("select_row = " + select_row); // 특정행의 체크박스 활성화 상태를 구함 is_enabled = this.grd_checkrowapi.isenablecheckrowex(select_row); factory.consoleprint("is_enabled = " + is_enabled); // 특정행 체크로우 체크 활성화 상태 토글 처리 this.grd_checkrowapi.enablecheckrowex(select_row, !is_enabled); }