IT/Nexacro 17

[NEXACRO 17] 그리드 컬럼명(Head)이 dataset 컬럼명에 따라 변경되게 만들기

Dev. Sean 2022. 5. 4. 11:38
반응형

그리드에 첫 컬럼은 무조건 '구분' 마지막 컬럼은 무조건 '총계'인 그리드가 있다.

첫컬럼과 마지막 컬럼 사이에 들어오는 컬럼 명들은 무슨 값이 몇개가 들어올지 모르는 상황이다.

 

데이터셋에 총계와 구분을 제외한 데이터가 다섯개가 조회된다면

넥사 그리드에도 그 다섯개 데이터명을 컬럼명으로 설정해야했다.

//폼로드시
this.formOnload = function(obj:nexacro.Form,e:nexacro.LoadEventInfo)
{
	//getCurFormatString()을 사용하여 현재 그리드의 상태를 저장
    nexacro.setPrivateProfile("GridA",this.Tabpage.form.GridA.getCurFormatString());
}

//트랜잭션이 일어난 후 Callback
this.callbackFunction = function(strSvcId, nErrorCode, strErrorMsg)
{
	switch(strSvcId)
    {
    	case 'fn_트랜잭션이름' :
        	var vGridObj = this.Tabpage.form.GridA;
            var vDataSet = this.ds_out_list; //트랜잭션 타고 나오는 아웃풋
            var sGridFormat = nexacro.getPrivateProfile("GridA");//위에 저장해놓은 프로필
            
            vGridObj.set_enableredraw(false);//false로 설정 , 밑에서 true 로 바꿔준다
            
            //그리드 초기화(페이지가 다시 로드될때 기존에 컬럼들이 남아있으면 안되기 때문에
            //초기화를 해주어야한다.
            vGridObj.set_formats(("<Formats>"+sGridFormat+"</Formats>"));
            
            //i는 2부터 해준 이유는 dataset안에 첫번째와 두번째 컬럼이 rowsts, rowchk으로
            //자동으로 설정되기 때문에 건너뛰기 위해서
            for(var i==2;i<vDataSet.colcount; i++){
            	var vDS_Info = vDataSet.getColumnInfo(i);
                var vDS_ColName = vDS_Info.name;
                var vColRow = 1;//컬럼이 첫번째와 두번째 컬럼사이에 insert되도록
                
                //dataset에서 불러와지는 컬럼명이 총계 or 구분이 아닐경우만 insert가 일어나야한다.
                if(vDS_ColName != '총계'&&vDS_ColName !='구분'){
                	var vInsCol = vGridObj.insertContentsCol(vColRow);
                    
                    //헤드에는 컬럼명, 바디에는 바인딩
                    vGridObj.setCellProperty("Head",vInsCol,"text",vDS_ColName);
                    vGridObj.setCellProperty("Body",vInsCol,"text","bind:" + vDS_ColName);
                  
                }
            
    
    }
   	vGridObj.set_enabledraw(true);//true로 바꿔주면 위 insert 된상태로 그리드가 바뀐다.
    break;


}

 

첫 컬럼은 구분,

마지막 컬럼은 총계

 

그리고 그 사이 컬럼들은 dataset으로 불러와지는 컬럼명들로 insert되게 된다.

반응형