123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- var curDate = utlf_getCurrentDate();
- var sORDERBY = "desc";
- curDate = curDate.toDate().getAddDate(-1,"D");
- var gBasedd = curDate.getFullYear();
- gBasedd = gBasedd.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
- gBasedd = gBasedd.toString() + (( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
- var gUserid = sysf_getUserId();
- var SSSTC00300_Form = "";
- //화면 초기화 이벤트
- function fInitialize()
- {
- ds_send.clearData();
- ds_send.addRow();
-
- var Menu = String(frmf_getMenuParam());
- var gScrParmL = Menu.substr(0,2); //대분류
- var gScrParmM = Menu.substr(2,2); //중분류
- var gScrParmS = Menu.substr(4,2); //소분류
- var gScrParmR = Menu.substr(6,7); //화면 ID
- /*
- var gScrParmL = '02';
- var gScrParmM = '01';
- var gScrParmS = '19';
- var gScrParmR = 'RR00233';
-
- var gScrParmL = '03'
- var gScrParmM = '02';
- var gScrParmS = '01';
- var gScrParmR = 'RR00756';
- var gScrParmL = '03';
- var gScrParmM = '02';
- var gScrParmS = '01';
- var gScrParmR = 'RR00756';
- var gScrParmL = '03';
- var gScrParmM = '02';
- var gScrParmS = '03';
- var gScrParmR = 'RR01139';
- var gScrParmL = '03';
- var gScrParmM = '02';
- var gScrParmS = '05';
- var gScrParmR = 'RR01147';
- var gScrParmL = '03';
- var gScrParmM = '04';
- var gScrParmS = '03';
- var gScrParmR = 'RR01142';
- var gScrParmL = '03';
- var gScrParmM = '04';
- var gScrParmS = '02';
- var gScrParmR = 'RR01146';
- var gScrParmL = '03';
- var gScrParmM = '04';
- var gScrParmS = '03';
- var gScrParmR = 'RR01142';
- */
- var sForm = dgrd_rpt.getFormatString();
- dgrd_rpt.userdata = sForm;
- trace(sForm)
-
- ds_send.setColumn( 0, "in_lrgcd", gScrParmL );
- ds_send.setColumn( 0, "in_mdlcd", gScrParmM );
- ds_send.setColumn( 0, "in_smlcd", gScrParmS );
- ds_send.setColumn( 0, "in_rptcd", gScrParmR );
- var oParam = {};
- oParam.id = "TRSTC00401";
- oParam.service = "stscomapp.StsCom";
- oParam.method = "reqGetStsComCode";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_rptInfo_rptInfoList=rptInfoList";
- oParam.async = false;
- tranf_submit(oParam);
- ds_init_rptm_rpt_rptcd.setColumn( 0, "rptnm", ds_init_rptInfo_rptInfoList.getColumn(0, "rptnm") ); //화면 이름
- ds_init_rptm_rpt_rptcd.setColumn( 0, "rptcd", ds_init_rptInfo_rptInfoList.getColumn(0, "rptcd")); //화면 CODE
- //2011.06.17
- dsf_makeValue( ds_send, "instcd", "string", ds_init_rptInfo_rptInfoList.getColumn(0, "instcd"));
- group1.cb_rpt.index = 0;
-
- var today = utlf_getCurrentDate()
- ds_hide_etc.setColumn( 0, "today", today );
- ds_send.setColumn( 0, "in_fromdd", gBasedd );
- ds_send.setColumn( 0, "in_todd", gBasedd );
- ds_send.setColumn( 0, "in_fromdd2",gBasedd );
- ds_send.setColumn( 0, "in_todd2", gBasedd );
-
- fGetStsRptInfo(); // 화면 초기화에 보이는 라벨이나 버튼 세팅
- }
- function fGetStsRptInfo()
- {
- var visibilityindex = 0
- var gScrParmR = String(frmf_getMenuParam()).substr(6,7);
- for( var i = 1 ; ds_init_rptInfo_rptInfoList.getColumn(0, "cond" + i ) != "--" ; i++)
- {
- if (utlf_isNull(ds_init_rptInfo_rptInfoList.getColumn(0, "cond" + i))) break;
- ds_init_rptm_cond_cond.clearData();
- ds_init_rptm_cond_cond.addRow();
- var cond = ds_init_rptInfo_rptInfoList.getColumn(0, "cond" +i) ;
- ds_send_cond.setColumn( 0, "condnum", cond);
- var oParam = {};
- oParam.id = "TRSTC00402";
- oParam.service = "stscomapp.StsCom";
- oParam.method = "reqGetStsRptCond";
- oParam.inds = "req=ds_send_cond";
- oParam.outds = "ds_init_rptm_cond_cond=condcd";
- oParam.async = false;
- tranf_submit(oParam);
- dsf_createDs("ds_init_rptm_cond_cond"+i+"_condcd");
- eval("ds_init_rptm_cond_cond"+i+"_condcd").copyData(ds_init_rptm_cond_cond);
-
- //2012/04/19 Start
- var rptcd = ds_init_rptm_rpt_rptcd.getColumn(0, "rptcd");
- if(rptcd=="RR00226")
- { //보험유형별 입원환자현황일시에 병동이 안보이도록 수정
- }
- else if(rptcd=="RR00250")
- { //응급실 보험유형별 입실현황
- }
- else
- {
- visibilityindex = i;
- }
- }
- fCondVisibleYN(visibilityindex);
- }
- function fCondVisibleYN(visibilityindex )
- {
- var activeGrp = 0;
- var rptcd = ds_init_rptm_rpt_rptcd.getColumn(0, "rptcd");
- for ( var k = 1 ; k <= 50 ; k++ )
- {
- group_id = "group_c" + k;
- if (!this.components[group_id])
- {
- break;
- }
- ObjGrp = this.components[group_id];
-
- if (ObjGrp.visible = true) //.attribute("visibility") == "visible" )
- {
- activeGrp = k;
- break;
- }
- }
-
- for ( var i = 1; i <= visibilityindex; i++ )
- {
- cond_id = "cb_cond" + i + "_" + activeGrp;
-
- ObjCond = this.ObjGrp.components[cond_id];
-
- ObjCond.innerdataset = "ds_init_rptm_cond_cond"+i+"_condcd";
- ObjCond.datacolumn = "nm";
- ObjCond.codecolumn = "cd";
- ObjCond.visible = true;
-
- if(sysf_getObjType(ObjCond) == "Combo")
- {
- ObjCond.index = 0;
- ObjCond.onitemchanged.fireEvent(ObjCond, new ItemChangeEventInfo);
- //RPTCD가 RR00262이면 심사자 전체 선택되도록 in_cond4 00으로 세팅되도록 수정 by 설승민 2020/04/03
- if(rptcd=="RR00262"){
- ds_send.setColumn(0,"in_cond4","00");
- }
- }
-
- cond_cp = "cp_text" + i + "_" + activeGrp;
- ObjCond = this.ObjGrp.components[cond_cp];
-
- ObjCond.text = eval("ds_init_rptm_cond_cond" + i + "_condcd").getColumn(0, "mdlnm");
- ObjCond.visible = true;
- }
- fShowGridForm(visibilityindex,activeGrp);
- }
- function fShowGridForm(visibilityindex,activeGrp)
- {
- dgrd_rpt.formats = dgrd_rpt.userdata;
-
- var iColWidth = 20; //group1.dgrd_rpt.attribute("colwidth");
- var sGridTitle = ds_init_rptInfo_rptInfoList.getColumn(0, "rpttitle"); // 그리드의 칼럼 제목
- var sGridSize = ds_init_rptInfo_rptInfoList.getColumn(0, "rptsize"); // 그리드의 칼럼 사이즈
- var sGridRpstcd = ds_init_rptInfo_rptInfoList.getColumn(0,"rptcd");
- var iOldGrdColCnt = dgrd_rpt.getFormatColCount(); //group1.dgrd_rpt.cols; // 기본 그리드의 칼럼 갯수
- ds_init_rptm_grid_ret.clearData();
- // setgridcaption() 함수 합침. -> 화면 로드시 grid 동적 생성 하도록 수정함
- if (ds_send.getColumn(0, "in_rptcd") == "RR00701")
- {
- // 일보
- if ( ds_send.getColumn(0, "in_cond1") == "01" )
- {
- dgrd_rpt.setFormatColProperty(6, "size", 0); //dgrd_rpt.setFormatColProperty( 6, "size", 0);
- dgrd_rpt.setFormatColProperty(7, "size", 0); //dgrd_rpt.setFormatColProperty( 7, "size", 0);
- dgrd_rpt.setFormatColProperty(8, "size", 0); //dgrd_rpt.setFormatColProperty( 8, "size", 0);
- dgrd_rpt.setFormatColProperty(9, "size", 0); //dgrd_rpt.setFormatColProperty( 9, "size", 0);
- dgrd_rpt.setFormatColProperty(10, "size", 0); //dgrd_rpt.setFormatColProperty( 10, "size", 0);
- var enddd = String(ds_send.getColumn(0, "in_fromdd"));
- sGridTitle = "구분^구분^명칭^"+enddd.substr(4,2)+"월 "+enddd.substr(6,2)+"일"+"^월누계^일평균|구분^구분^명칭^"+getweekday(enddd)+"^월누계^일평균";
- } // 월보
- else if ( ds_send.getColumn(0, "in_cond1") == "02" )
- {
- dgrd_rpt.setFormatColProperty(6, "size", 20); //dgrd_rpt.setFormatColProperty( 6, "size", XXX_defSize);
- dgrd_rpt.setFormatColProperty(7, "size", 20); //dgrd_rpt.setFormatColProperty( 7, "size", XXX_defSize);
- dgrd_rpt.setFormatColProperty(8, "size", 20); //dgrd_rpt.setFormatColProperty( 8, "size", XXX_defSize);
- dgrd_rpt.setFormatColProperty(9, "size", 20); //dgrd_rpt.setFormatColProperty( 9, "size", XXX_defSize);
- dgrd_rpt.setFormatColProperty(10, "size", 20); //dgrd_rpt.setFormatColProperty( 10, "size", XXX_defSize);
- var enddd = String(ds_send.getColumn(0, "in_fromdd"));
- var benddd1 = enddd.toDate("YYYYMMDD");
- var benddd2 = enddd.toDate("YYYYMMDD");
- benddd1 = benddd1.getAddDate(-1,"M").getDateFormat("YYYYMMDD") ;
- benddd2 = benddd2.getAddDate(-1,"Y").getDateFormat("YYYYMMDD") ;
- sGridTitle = "구분^구분^명칭^"+enddd.substr(0,4)+"년 "+enddd.substr(4,2)+"월"+"^일평균^전월^전월^전월^전년동월^전년동월^전년동월|구분^구분^명칭^"+enddd.substr(0,4)+"년 "+enddd.substr(4,2)+"월"+"^일평균^"+benddd1.substr(0,4)+"년 "+benddd1.substr(4,2)+"월"+"^증감^증감율^"+benddd2.substr(0,4)+"년 "+benddd2.substr(4,2)+"월"+"^증감^증감율";
- } //년보
- else if ( ds_send.getColumn(0, "in_cond1") == "03" )
- {
- dgrd_rpt.setFormatColProperty(6, "size", 20); //dgrd_rpt.setFormatColProperty( 6, "size", XXX_defSize);
- dgrd_rpt.setFormatColProperty(7, "size", 0); //dgrd_rpt.setFormatColProperty( 7, "size", 0);
- dgrd_rpt.setFormatColProperty(8, "size", 0); //dgrd_rpt.setFormatColProperty( 8, "size", 0);
- dgrd_rpt.setFormatColProperty(9, "size", 0); //dgrd_rpt.setFormatColProperty( 9, "size", 0);
- dgrd_rpt.setFormatColProperty(10, "size", 0); //dgrd_rpt.setFormatColProperty( 10, "size", 0);
- var enddd = String(ds_send.getColumn(0, "in_fromdd"));
- var benddd1 = enddd.toDate("YYYYMMDD");
- var benddd2 = enddd.toDate("YYYYMMDD");
- benddd1 = benddd1.getAddDate(-1,"M").getDateFormat("YYYYMMDD") ;
- benddd2 = benddd2.getAddDate(-1,"Y").getDateFormat("YYYYMMDD") ;
- sGridTitle = "구분^구분^명칭^"+enddd.substr(0,4)+"년"+"^전년^전년^전년|구분^구분^명칭^"+enddd.substr(0,4)+"년"+"^"+benddd1.substr(0,4)+"년"+"^증감^증감율";
- }
- }
- else if (ds_send.getColumn(0, "in_rptcd") == "RR00702")
- {
- var enddd = String(ds_send.getColumn(0, "in_fromdd"));
- var enddd1 = enddd;
- var weekday1 = getweekday(enddd1);
- enddd1=enddd1.substr(4,2)+"월 "+enddd1.substr(6,2)+"일";
-
- var enddd2 = enddd.toDate("YYYYMMDD").getAddDate(1,"D").getDateFormat("YYYYMMDD");
- var weekday2 = getweekday(enddd2);
- enddd2=enddd2.substr(4,2)+"월 "+enddd2.substr(6,2)+"일";
-
- var enddd3 = enddd.toDate("YYYYMMDD").getAddDate(2,"D").getDateFormat("YYYYMMDD");
- var weekday3 = getweekday(enddd3);
- enddd3=enddd3.substr(4,2)+"월 "+enddd3.substr(6,2)+"일";
-
- var enddd4 = enddd.toDate("YYYYMMDD").getAddDate(3,"D").getDateFormat("YYYYMMDD");
- var weekday4 = getweekday(enddd4);
- enddd4=enddd4.substr(4,2)+"월 "+enddd4.substr(6,2)+"일";
-
- var enddd5 = enddd.toDate("YYYYMMDD").getAddDate(4,"D").getDateFormat("YYYYMMDD");
- var weekday5 = getweekday(enddd5);
- enddd5=enddd5.substr(4,2)+"월 "+enddd5.substr(6,2)+"일";
-
- var enddd6 = enddd.toDate("YYYYMMDD").getAddDate(5,"D").getDateFormat("YYYYMMDD");
- var weekday6 = getweekday(enddd6);
- enddd6=enddd6.substr(4,2)+"월 "+enddd6.substr(6,2)+"일";
-
- var enddd7 = enddd.toDate("YYYYMMDD").getAddDate(6,"D").getDateFormat("YYYYMMDD");
- var weekday7 = getweekday(enddd7);
- enddd7=enddd7.substr(4,2)+"월 "+enddd7.substr(6,2)+"일";
-
- sGridTitle = "구분^구분^명칭^"+enddd1+"^"+enddd2+"^"+enddd3+"^"+enddd4+"^"+enddd5+"^"+enddd6+"^"+enddd7+"^합계^합계^합계^일평균^일평균^일평균|구분^구분^명칭^"+weekday1+"^"+weekday2+"^"+weekday3+"^"+weekday4+"^"+weekday5+"^"+weekday6+"^"+weekday7+"^금주^벤치마크^증감^금주^벤치마크^증감"
- }
-
- var titleArr = sGridTitle.split("|"); // '|'로 입력된 Head값 처리를 위해 변경함 kimdo3, 2017-03-25
- var refarr = new Array(); //titleArr[0].split("^"); // 그리드의 칼럼제목 갯수
- var sizearr = sGridSize.split(","); // 그리드의 칼럼 사이즈 갯수
- var pid = ""; //group1.dgrd_rpt.attribute("");
- dgrd_rpt.visible = false;
- if(titleArr.length > 1)
- { // 1 이상일 경우에 Head를 추가함.
- for(var i = 1; i < titleArr.length; i++)
- { // 그래서 1부터 시작함.
- dgrd_rpt.appendContentsRow("head");
- }
- }
- // 그리드의 칼럼 제목을 DB에서 가져온걸로 셋팅
- for(var i = 0; i < titleArr.length; i++)
- { // '|'로 이중 이상 나온 것도 처리하기 위해 추가함.
- var _titleArr = titleArr[i].split("^"); // 한Row의 Head Title을 얻기 위한 Split
- for(j = 0 ; j < _titleArr.length; j++)
- { // 각 Row의 Head Title을 refarr[전체 Header를 관리하기 위한 1차원 배열]에 저장.
- refarr[i * _titleArr.length + j] = _titleArr[j]; // 현재의 위치를 각각의 위치값을 계산하여 저장하기 (문제점. Array - _titleArr.length가 다른 경우 오류 발생 가능성 존재)
- }
- }
- var headOneRowCellCnt = (dgrd_rpt.getCellCount("head") / titleArr.length); // 각 Head Row의 갯수를 구하기 위해
- var refarrLoopCnt = refarr.length / titleArr.length; // refarr에서 Head Row 수 만큼 반복하여 얻기 위한 상수값.
-
- for( var k = 0 ; k < titleArr.length; k++)
- { // 전체 Head Row 수 만큼 반복
- for(var i = 0; i < headOneRowCellCnt ; i++)
- { // Grid상의 실제 Head Column Count
- if( i < refarrLoopCnt )
- { // 실제 Title Array에서 한 Head Row의 Column 갯수를 의미함
- dgrd_rpt.setCellProperty("head", (k * headOneRowCellCnt + i), "text", refarr[ k * refarrLoopCnt + i]);
- dgrd_rpt.setCellProperty("head", (k * headOneRowCellCnt + i), "wordwrap", "char");
- }
- }
- }
- for(var i = 0, size= (refarr.length / titleArr.length) ; i < size; i++)
- { // 루푸를 돌면서 칼럼 제목에 맞게 설정한 칼럼 사이즈를 셋팅
- dgrd_rpt.setFormatColProperty( i, "size", sizearr[i]);
- }
- for (var i = sizearr.length ; i < iOldGrdColCnt ; i++)
- { // 셋팅된 칼럼의 갯수보다 기본 그리드의 칼럼 갯수가 많다면 뒷쪽의 칼럼을 히든 처리
- dgrd_rpt.setFormatColProperty( i, "size", "0"); //group1.dgrd_rpt.colHidden(i) = true;
- }
- dgrd_rpt.visible = true;
- //그리드 헤드 merge
- grdTitleMerge(dgrd_rpt);
- }
- function fGetGridData()
- {
- var sGridTitle = ds_init_rptInfo_rptInfoList.getColumn(0, "rpttitle");
- var sGridleft = String(ds_init_rptInfo_rptInfoList.getColumn(0, "left"));
- var sGridmiddle = String(ds_init_rptInfo_rptInfoList.getColumn(0, "middle"));
- var sGridTitle = sGridTitle.split("|");
- var refarr = sGridTitle[0].split("^");
- var col_idx;
- var col_num;
- var col_len = 0;
- var left = sGridleft.split("^");
- var middle = sGridmiddle.split("^");
- ds_init_rptm_grid_ret.clearData();
-
- var oParam = {};
- oParam.id = "TRSTC00300";
- oParam.service = "stscomapp.StsCom";
- oParam.method = "reqGetGridData";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_rptm_grid_ret=ret ds_init_rptm_grid_ret_cmmt=ret_cmmt";
- oParam.async = false;
- oParam.callback = "cf_TRSTC00300";
- tranf_submit(oParam);
-
- for(var i = 0; i < refarr.length ; i++)
- {
- dgrd_rpt.setCellProperty("Body", i, "align", "right middle");
- }
- for(var i = 0 ; i < left.length ; i++)
- {
- dgrd_rpt.setCellProperty("Body", parseInt(left[i]-1), "align", "left middle");
- }
- for(var i = 0 ; i < middle.length ; i++)
- {
- dgrd_rpt.setCellProperty("Body", parseInt(middle[i]-1), "align", "center middle");
- }
- if ( !utlf_isNull(ds_init_rptInfo_rptInfoList.getColumn(0, "funckind")))
- {
- for(var i = 0; i < parseInt(ds_init_rptInfo_rptInfoList.getColumn(0, "funckind")); i++)
- {
- dgrd_rpt.setFormatColProperty(i, "band", "left");
- }
- }
- if( ds_send.getColumn(0, "in_rptcd") == "RR00233")
- {
- dgrd_rpt.setCellProperty("Body", dgrd_rpt.getBindCellIndex("Body", "col2"), "displaytype", "Number");
- dgrd_rpt.setCellProperty("Body", dgrd_rpt.getBindCellIndex("Body", "col3"), "displaytype", "Number");
- dgrd_rpt.setCellProperty("Body", dgrd_rpt.getBindCellIndex("Body", "col4"), "displaytype", "Number");
- dgrd_rpt.setCellProperty("Body", dgrd_rpt.getBindCellIndex("Body", "col5"), "displaytype", "Number");
- }
-
- dgrd_rpt.setCellProperty("Body", 0, "wordwrap", "char");
- dgrd_rpt.setCellProperty("Body", 1, "wordwrap", "char");
- }
- function cf_TRSTC00300(sSvcId, nErrorCode, sErrorMsg)
- {
- var attflag = String(frmf_getMenuParam()).substr(6,7);
-
- if(ds_init_rptm_grid_ret.rowcount > 0)
- {
- // 외래수익일보 Row 에 색상추가
- if ( attflag == "RR00821" )
- {
- dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 0);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 27);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 54);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 58);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 75);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 79);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 84);
-
- for(var i = 0; i < dgrd_rpt.getCellCount("Body"); i++)
- {
- dgrd_rpt.setCellProperty("Body", i, "background", "EXPR:BgColor");
- dgrd_rpt.setCellProperty("Body", i, "background2", "EXPR:BgColor");
- }
- }
-
- // 입원수익일보 Row 에 색상추가
- if ( attflag == "RR00822" )
- {
- dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 0);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 26);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 69);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 72);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 89);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 94);
- // dsf_makeValue(ds_init_rptm_grid_ret, "BgColor", "string", "#dddddd", 98);
-
- for(var i = 0; i < dgrd_rpt.getCellCount("Body"); i++)
- {
- dgrd_rpt.setCellProperty("Body", i, "background", "EXPR:BgColor");
- dgrd_rpt.setCellProperty("Body", i, "background2", "EXPR:BgColor");
- }
- }
- }
- }
- /*그리드에서 같은 글자는 merge하도록 하는 함수
- grid : 그리드 ID , cols: 그리드 전체 컬럼 수
-
- %타이틀 변경전에 선언되어야 합니다.%
- grid.userdata = datagrid1.getFormatString();
- grid.formats = datagrid1.userdata;*/
- function grdTitleMerge(grid){
- var headCols = grid.getCellCount("body");
- var headCells = grid.getCellCount("head");
- var headArrR1 = new Array();
- var headArrR2 = new Array();
- var headArrR3 = new Array();
-
- var headArrR2No = new Array();
- var headArrR3No = new Array();
-
- var headArrR2NoIdx = 0;
- var headArrR3NoIdx = 0;
-
- var headArrMer12No = "";
- var headArrMer13No = "";
-
- var headArrMer12NoIdx = 0;
- var headArrMer13NoIdx = 0;
-
- var mergeScol = 0;
- var mergeEcol = 0;
- var index = 0;
- var calindex = 0;
- var calindex1 = 0;
- var calindex11 = 0;
-
- for(var i=0; i<headCells;i++){
- if( parseInt(i/headCols)==0 ){
- headArrR1[i%headCols] = grid.getCellText(-1,i);
- }
- if( parseInt(i/headCols)==1 ){
- headArrR2[i%headCols] = grid.getCellText(-1,i);
- }
- if( parseInt(i/headCols)==2 ){
- headArrR3[i%headCols] = grid.getCellText(-1,i);
- }
-
- }//for(var i=0; i<headCells;i++) 끝
-
- //로우 병합
- for(var i=0; i<headCols; i++){
-
- if(headArrR1[i]==headArrR2[i]){
- index = i;
- calindex++;
- grid.mergeContentsCell("head",0,i,1,i,index,false);
- headArrMer12No+=i+"^";
- headArrMer12NoIdx++;
- }else{
- headArrR2No[headArrR2NoIdx]=i;
- headArrR2NoIdx++;
- }
- if(headArrR2[i]==headArrR3[i]){
- index = eval(i)+eval(headCols)-calindex;
- grid.mergeContentsCell("head",1,i,2,i,index,false);
- calindex1++;
- if(headArrR2[i]==headArrR1[i]){
- index = eval(i)+eval(headCols)-calindex;
- grid.mergeContentsCell("head",0,i,2,i,i,false);
- calindex11++;
- headArrMer13No+=i+"^";
- headArrMer13NoIdx++;
- }
- }else{
- headArrR3No[headArrR3NoIdx]=i;
- headArrR3NoIdx++;
- }
-
- }//for(var i=0; i<headCols; i++) 끝
-
- //배치가 바뀌어 재분배
- var headCells2 = grid.getCellCount("head");
- var headArr1 = new Array();
- var headArr2 = new Array();
- var headArr3 = new Array();
- var headArr3idx = 0;
- var headArr2idx = 0;
-
- for(var i=0; i<headCells2;i++){
-
- if( parseInt(i/headCols)==0 ){
- headArr1[i%headCols] = grid.getCellText(-1,i);
- }else if( eval(i)< headCols*2-eval(calindex)){
- headArr2[headArr2idx] = grid.getCellText(-1,i);
- headArr2idx++;
- }else{
- headArr3[headArr3idx] = grid.getCellText(-1,i);
- headArr3idx++;
- }
-
- }//for(var i=0; i<headCells;i++) 끝
-
- //컬럼 병합
- var tmp1 = "";
- var tmp1idx = 0;
- var tmp2 = "";
- var tmp2idx = 0;
- var col = 0;
- var index = 0;
- var calcolindex = 0;
- for(var i=0; i<headArr1.length;i++){
-
- if(i==0){
- tmp1 = headArr1[0];
- tmp1idx = 0;
- }else{
- tmp2 = headArr1[i];
- tmp2idx = i;
- }
- idx = i-calcolindex-1;
- if(tmp1==tmp2){
- grid.mergeContentsCell("head",0,tmp1idx,0,tmp2idx,idx,false);
- calcolindex++;
- }else{
- tmp1 = headArr1[i];
- tmp1idx = i;
- }
- }//for(var i=0; headArr1.legnth();i++) 끝
-
- var tmp1 = "!";
- var tmp2 = "!";
- var tmp2idx = 0;
- var calcolindex1 = 0;
- var idx = 0;
- for(var i=0; i<headArr2.length;i++){
- if(i==0){
- tmp1 = headArr2[0];
- tmp1idx = 0;
- }else{
- tmp2 = headArr2[i];
- tmp2idx = headArrR2No[i];
- }
- var cnt12R = biggerCnt(headArrR2No[i],headArrMer12No);
- idx = (headCols+headArrR2No[i]) - calcolindex - eval(calindex) + cnt12R - eval(calcolindex1)-1;
-
- if(tmp1==tmp2){
- grid.mergeContentsCell("head",1,tmp1idx,1,tmp2idx,idx,false);
- calcolindex1++;
- }else{
- tmp1 = headArr2[i];
- tmp1idx = headArrR2No[i];
- }
- }//for(var i=0; headArr2.legnth();i++) 끝
-
-
- var tmp1 = "!";
- var tmp2 = "!";
- var tmp2idx = 0;
- var calcolindex11 = 0;
- for(var i=0; i<headArr3.length; i++){
- if(i==0){
- tmp1 = headArr3[0];
- tmp1idx = 0;
- }else{
- tmp2 = headArr3[i];
- tmp2idx = headArrR3No[i];
- }
- var cnt13R = biggerCnt(headArrR3No[i],headArrMer13No);
- idx = (headCols*2+headArrR3No[i]) - calcolindex - calcolindex1 - calcolindex11 - calindex - calindex1 + cnt13R;
- if(tmp1==tmp2){
- grid.mergeContentsCell("head",2,tmp1idx,2,tmp2idx,idx,false);
- calcolindex11++;
- }else{
- tmp1 = headArr3[i];
- tmp1idx = headArrR3No[i];
- }
- }
-
-
- }
- function biggerCnt(num,idxArr){
- var rtn=0;
- var arr = new Array();
- var idxA = new String(idxArr);
- arr = idxA.substr(0,idxA.length-1).split("^");
- for(var i=0; i<arr.length; i++){
- if(num<arr[i]){
- rtn++;
- }
- }
- return rtn;
- }]]></Script>
|