본문 바로가기
IT/Nexacro

넥사크로 그리드에서 체크박스 하나만 체크할 수 있게 만들기

by flatsun 2019. 6. 19.
반응형

넥사크로 그리드에서

체크박스는 기본적으로 여러개 체크 가능하다

 

하지만 하나만 체크 가능하게 만들어야 하는 경우도 있으니..

 

먼저 그리드를 선택한 후 oncellclick 이벤트를 만들어 주자

 

간단하게 만들 수 있는데

먼저 체크박스를 선택했을 경우

전체 데이터셋에 대해 for를 돌려서 현재 행은 냅두고

나머지 행의 체크박스는 0으로 만들어 체크를 푸는 방식이다 

 

this.Grid00_oncellclick = function(obj:nexacro.Grid,e:nexacro.GridClickEventInfo)
{
	if(e.col == this.Grid00.getBindCellIndex("body", "CHK")) { // 체크박스 선택했을 경우
		for(var i = 0; i<this.dsSearch2.rowcount; i++) { // 데이터셋 전체 확인
			if(e.row == i) {// 현재 행의 체크박스를 눌렀을 경우
				// 무반응 (체크 해제 안함)
			} else {
				this.dsSearch2.setColumn(i,"CHK","0"); 
                		// 클릭한 행의 체크박스를 제외한 나머지 체크박스는 체크 해제
			}
		}
	}
};

복붙용으로 코드 블럭을 만들어 놨는데

 

여기서 "CHK" 부분을 자신이 사용하는 그리드의 체크박스 bind 명으로 바꾸고

dsSearch2를 자신이 사용하는 데이터셋으로 변경해주면 잘 작동할 것이다

 

이후 그리드를 눌러보니

하나를 선택하면 다른 값들이 0이 되어서 체크가 풀리는 것이 보인다

반응형

댓글