넥사크로 그리드 체크박스 / 시프트 조합으로 범위 일괄 체크
/* 그리드 쉬프트키로 멀티선택
* e : Grid01_oncellclick의 이벤트 e
* dsId : 데이터셋 ex) this.ds_list
* columnId : 체크박스 ex) isChecked
*/
this.fn_act_shiftCheck = function (e, dsId, columnId)
{
if (e.shiftkey) {
var chk = 0;
if ((e.row >= e.oldrow && dsId.getCaseCount(columnId + "!='1'", e.oldrow, e.row+1) > 0)
|| (e.oldrow >= e.row && dsId.getCaseCount(columnId + "!='1'", e.row, e.oldrow+1) > 0)) {
chk = 1;
} else {
chk = 0;
}
dsId.set_enableevent(false);
for (var i=0; i<dsId.getRowCount(); i++) {
if ((e.row >= e.oldrow && e.row >= i && i >= e.oldrow)
|| (e.oldrow >= e.row && e.oldrow >= i && i >= e.row)) {
dsId.setColumn(i, columnId, chk);
}
}
dsId.set_enableevent(true);
}
};
/* 그리드의 event 온셀클릭 아래와 같이 실행
this.Grid01_oncellclick = function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo)
{
this.fn_act_shiftCheck(e,this.ds_list,"isChecked");
};
*/
시작점 체크
Shift + 체크
범위 체크