넥사크로

넥사크로 그리드 체크박스 / 시프트 조합으로 범위 일괄 체크

사라링 2022. 6. 21. 14:11


/* 그리드 쉬프트키로 멀티선택
 * 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 + 체크

 

범위 체크