일반 MGrid가 아니라 TreeGrid를 구성하고자 할 때 화면쪽에서 SetDataHeader를 사용하여 DataSet의 헤더를 구성한다면 Tree가 그려지지 않습니다.
일반 MGrid라면 데이터셋이 바로 바인드되기 때문에 값이 정상적으로 들어가지만, TreeGrid로 구성하려고 하는 경우 컴포넌트 구조상 이런 식으로 사용하는 것은 불가능합니다.
Tree로 그리기 위해서는 서버 서비스를 한번 타서 DataSet의 OnLoadCompleted 이후에 MGrid에서 DataSet을 바인드하여 Tree로 그리는 것이기 때문입니다.
따라서 DataSet의 헤더만 존재하고 InsertRow나 AddRow를 한다면 OnLoadCompleted를 타지 않기 때문에 MGrid에 바인드되지 않습니다.
결국 서버쪽과의 데이터 통신이 완료되어야 정상적으로 MGrid에 바인드되기 때문에 화면단에서 데이터셋에 LevelColumn값만 넣어준다고 해서 MGrid에 표현되지는 않는 것입니다.
재현 샘플을 참고하세요.
>
>* 고객시스템명 : scm_dm
>* 문의할 Component명 및 버전 : 가우스4.0
>* DataSet 버전 :
>
><Component Name="MxDataSet" CLSID="{2506B38B-0FF7-4249-BA3E-8BC1DC399FBB}" CabFile="/jsp/ActiveX/gauce/MxDataSet.cab" Version="1,2,1,54" />
>
><Component Name="MxMGrid" CLSID="{8B6E903C-6297-44FB-B6C5-4F9D7FCA2A08}" CabFile="/jsp/ActiveX/gauce/MxMGrid.cab" Version="1,2,1,56" />
>
>* Tr 버전 :
>* 문의 유형(질문/요청/참조) :
>
>1. 어디가 문제인가요?
>2. 화면에 데이터가 뿌려지지 않는 이유는?
>
>
>
>* 내용 :
>
>dataSet은 다음과 같습니다.
>
><object id="das_save_change_data" classid="clsid:2506B38B-0FF7-4249-BA3E-8BC1DC399FBB">
></object>
>
>das_save_change_data.SetDataHeader("LEVEL_ID:INT,PART_CODE:STRING(20)");
>
>
>das_save_change_data.addRow();
>intRow = das_save_change_data.CountRow;
>
>das_save_change_data.NameValue(intRow, "PART_CODE") = "aaaa";
>das_save_change_data.NameValue(intRow, "LEVEL_ID") = 1;
>
>das_save_change_data.addRow();
>intRow = das_save_change_data.CountRow;
>das_save_change_data.NameValue(intRow, "PART_CODE") = "aabb";
>das_save_change_data.NameValue(intRow, "LEVEL_ID") = 2;
>
>
>
>
><object id="grid_tree" classid="clsid:8B6E903C-6297-44FB-B6C5-4F9D7FCA2A08" width="650" height="500">
> <Param Name="DataID" value="das_save_change_data">
> <Param Name="ColumnInfo" value='
> <COLUMNINFO>
> <COLUMN id="id_part_code" refcolid="PART_CODE">
> <TREE type="2" levelcolumn="LEVEL_ID" expand="false"/>
> <HEADER left="0" top="0" right="100" bottom="30" text="Part Code"/>
> <VIEW left="0" top="0" right="100" bottom="20"/>
> </COLUMN>
> <COLUMN id="id_part_code" refcolid="LEVEL_ID">
> <HEADER left="100" top="0" right="200" bottom="30" text="Part Code"/>
> <VIEW left="100" top="0" right="200" bottom="20"/>
> </COLUMN>
> </COLUMNINFO>'>
></object>