MGrid에서 직접 Check상태를 알 수 있는 방법은 없습니다.
따라서 DataSet의 Check컬럼의 값을 확인해서 체크된 row의 count를 세어야 합니다.
컴포넌트 기능으로는 불가능하고, 스크립트로 구현하셔야 할 것 같습니다.
체크된 상태에서만 다른 컬럼의 체크를 제어하려면 OnLButtonDown이벤트 등에서 decode를 쓰면 됩니다.
<script language="javascript" for="mgrid" event="OnLButtonDown(type, row, colid, x, y)" >
if(colid == "CHECK1" && dset.NameValue(dset.RowPosition, "CHECK1") == "T"){
mgrid.LayoutInfo("ColumnInfo", "CHECK2::<CHILD>::editable") = "@DECODE(CHECK1, [T], [true] ,[F], [false])";
}
</script>
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : 주택공사(LH),window XP(개발)
>* 문의할 Component명 및 버전 : MxGride 1.2.1.316
>* DataSet 버전 : 1.2.1.73
>* Tr 버전 : 1.2.1.41
>* 문의 유형(질문/요청/참조) : 이미지 참조
>* 내용 :
><script language="javascript" for="CreateMgridsInfo_ds" event=OnLoadCompleted(rowcount)>
> var info="";
> info +='<COLUMNINFO> ';
> info +='<COLUMN id="MENU_NM" refcolid="MENU_NM" fix="true" >';
> info +='<TREE type="2" levelcolumn="LVL" expand="false" thumbsize="15" hasline="true"/>';
> info +='<HEADER left="0" top="0" right="250" bottom="20" text="조회 업무 선택" color="#005952" bgcolor="#F2F3E4" fontsize="9"/>';
> info +='<VIEW left="0" top="0" right="250" bottom="20" borderstyle="none"/>';
> info +='</COLUMN>';
> info +='<COLUMN id="FLAG" refcolid="FLAG">';
> info +='<HEADER left="250" top="0" right="350" bottom="20" text="화면권한" color="#005952" bgcolor="#F2F3E4" fontsize="9"/>';
> info +='<VIEW left="250" top="0" right="350" bottom="20" borderstyle="none" bgcolor="@DECODE(MENUFLAG,[110],[#CDEBFF],[001],[#CDEBFF],[100],[#FFFFFF])"/>';
> info +='<CHILD type="check" editable="@DECODE(MENUFLAG,[110],[true],[001],[true],[100],[false])"/>';
> info +='</COLUMN>';
> var fontSize=MGrids.currentStyle.fontSize;
> var startleft=350;
> var startright=0;
> var nameingNum=0;
>
> for(i=1;i<=rowcount;i++){
> document.getElementById("auto_width").innerText=this.NameValue(i,"BUTTON_NM");
> var text_width = document.getElementById("auto_width");
> text_width.style.fontSize = fontSize;
> var width = (text_width.clientWidth + 1);
>
> startright=startleft+(parseInt(fontSize)+width+parseInt(fontSize));
> nameingNum=padZero(this.NameValue(i,"BUTTON_ID"),2)
> info +='<COLUMN id="CHECK'+nameingNum+'" refcolid="CHECK'+nameingNum+'">';
> info +='<HEADER left="'+startleft+'" top="0" right="'+startright+'" bottom="20" text="'+this.NameValue(i,"BUTTON_NM")+'" color="#005952" bgcolor="#F2F3E4" fontsize="'+fontSize+'" />';
> info +='<VIEW left="'+startleft+'" top="0" right="'+startright+'" bottom="20" borderstyle="none" bgcolor="@DECODE(EDITBLE'+nameingNum+',[T],[#CDEBFF],[F],[#FFFFFF])"/>';
> info +='<CHILD type="check" editable="@DECODE(EDITBLE'+nameingNum+',[T],[true],[F],[false])"/>';
> info +='</COLUMN>';
> startleft=startright;
> }
> info +='</COLUMNINFO>';
> MGrids.ColumnInfo=info;
></script>
>//위에 방식으로 그리드를 능동적으로 생성합니다.
><script language=JavaScript for=MGrids event=OnLButtonDown(type,index,colid,x,y)>
> if(type == 3 || type == 4){
> if(MGrids.RowPosition != index)
> MGrids.RowPosition = index;
> if(colid=="FLAG"){
> alert(ds_01.NameValue(index,colid));
> alert(ds_01.CountColumn);
> if(ds_01.NameValue(index,colid)=="T"){
> }else{
> }
> }
> }
>
></script>
>
>첨부이미지는 현재 Mgride 로 구현된것입니다. 자식 노드CHILD 의 체크박스 상태와 컬럼의 카운터를 가져와햐하는대 아무리 찾아뵈도..안보여서요 체크박스의 활성,비활성 상태를 알수있는지 알고싶군요..하고싶은건
>체크박스가 활성화 된 상테에서만 옆라인의 체크박스를 제어하고 싶어서 입니다...