사용자 도구

사이트 도구


white:ibsheet_dynamic

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
white:ibsheet_dynamic [2018/10/10 08:01] taekguwhite:ibsheet_dynamic [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1
줄 49: 줄 49:
                 {Type:"Text",SaveName:"qust_cnt", Width:100, Align:"Center", Hidden:true}                 {Type:"Text",SaveName:"qust_cnt", Width:100, Align:"Center", Hidden:true}
    ];    ];
- for (const [key, value] of answerCol.entries()) {+ //for (const [key, value] of answerCol.entries()) { // IE에서 작동안함 
 + answerCol.forEach(function(value){
    tmpHeaderRow1 += "|" + value.ansr_item_nm;    tmpHeaderRow1 += "|" + value.ansr_item_nm;
    bodyRow.push({Type:"Text",SaveName:"col_" + value.opq_ansr_item_id, Width:100, Align:"Center"});    bodyRow.push({Type:"Text",SaveName:"col_" + value.opq_ansr_item_id, Width:100, Align:"Center"});
줄 73: 줄 74:
  var myData = [];  var myData = [];
  // myData준비하자  // myData준비하자
- for (const [key, value] of mAnswer.entries()) {+ //for (const [key, value] of mAnswer.entries()) {  // IE에서 작동안함 
 + mAnswer.forEach(function(value){
  myData[value.myOrder] = value;  myData[value.myOrder] = value;
  }  }
줄 81: 줄 83:
  $('div[dataProvider="ME_OPQ0009_05"]').triggerHandler("bindData", [ myData ]);  $('div[dataProvider="ME_OPQ0009_05"]').triggerHandler("bindData", [ myData ]);
 } }
 +</code>
 +===== 동적트리 =====
 +<code html>
 + <script type="text/javascript">
 + $( document ).ready( function(){
 + });
 + function mySheet1_OnSmartResize(Width, Height) {
 +     //변경된 정보에 따라 컬럼들의 너비를 재조정한다.
 +     mySheet1.FitColWidth();
 + }
 +
 + //동적 LIST 생성 , list <- IBSheet ID
 + var lastCol;
 + var orgTreeCols;
 + function listReset(){
 + var requestObject = {
 + "HEADER" : headerObject,
 + "BODY" : {
 + "ME_PEB0202_01" : [ {
 + "company_cd" : "${sessionScope.session_company_cd}",
 + "locale_cd" : "${sessionScope.session_locale_cd}",
 + "type_nm" : '인건비'
 + } ]
 + }
 + };
 +
 + execute( "getPayItem", "PEB0202_00_H01", requestObject, function( actionType, obj ) {
 + var data = obj[ "ME_PEB0202_02" ];
 + var cnt = data.length;
 +
 + var colInfo = [];
 + var headerInfo = "";
 + var headerInfo2 = "";
 +
 + lastCol = (lastCol == undefined) ? mySheet1.LastCol() : lastCol;
 + for(var j = 0; j <= lastCol; j++){
 + headerInfo += mySheet1.GetCellText(0,j) + "|";
 + headerInfo2 += mySheet1.GetCellText(0,j) + "|";
 +
 + colInfo[j] = { Type: mySheet1.GetCellProperty(0, j, "Type"),
 + Width: mySheet1.GetCellProperty(0, j, "Width"),
 + SaveName: mySheet1.GetCellProperty(0, j, "SaveName"), 
 + Align: mySheet1.GetCellProperty(0, j, "Align"), 
 + Edit: mySheet1.GetCellProperty(0, j, "Edit"),
 + Hidden: mySheet1.GetCellProperty(0, j, "Hidden"),
 + MultiLineText:0,
 + Wrap:0,
 + TreeCol: mySheet1.GetCellProperty(0, j, "TreeCol"),
 + KeyField:0,
 + ColMerge:0
 + };
 + }
 +
 + var dynamicColInfo = [];
 + orgTreeCols = [];
 + for(var i = 0 ; i < cnt; i++){
 + orgTreeCols.push(data[i]['cd']);
 + headerInfo += data[i]['cd_nm'] + "|" ;
 + headerInfo2 += data[i]['print_nm'] + "|";
 + dynamicColInfo[i] = {Type:"Int",Width:70, SaveName:data[i]['cd'] , Align:"right", Edit:0,MultiLineText:0, Wrap:0,Format:"Integer", TreeCol:0,KeyField:0,ColMerge:1,Hidden:0,InsertEdit:0,UpdateEdit:0};
 + }
 +
 + headerInfo = headerInfo.substring(0,headerInfo.length-1);
 + headerInfo2 = headerInfo2.substring(0,headerInfo2.length-1);
 +
 + var headers = [{ Text: headerInfo, Align:"center"}
 +   ,{ Text: headerInfo2, Align:"center"}
 +   ];
 + var info = { Sort:0,ColMove:1,ColResize:1,HeaderCheck:0 };
 + var cols = "[";
 + cols += JSON.stringify( colInfo ).replace("[", "").replace("]", "");
 + if(dynamicColInfo.length > 0){
 + cols += ", " + JSON.stringify( dynamicColInfo ).replace("[", "").replace("]", "");
 + }
 + cols += "]";
 +
 + //alert(JSON.stringify(cols));
 + cols = JSON.parse( cols ); //STRING을 JSON으로 변환한다
 +
 + mySheet1.Reset();
 + // 2018.08.24 (LMY) 테마 적용
 + var theme = "${sessionScope.session_theme}".replace('ui-', '');
 +
 + if( theme != null || theme != '' || theme != undefined )
 + mySheet1.SetTheme(theme, theme);
 + else 
 + mySheet1.SetTheme('base', 'base');
 +
 + mySheet1.SetConfig({SearchMode:2,Page:30,FrozenCol:6,MergeSheet:msHeaderOnly});
 + mySheet1.InitHeaders( headers, info );
 + mySheet1.InitColumns( cols );
 + mySheet1.SetDataRowHeight(35);
 + //mySheet1.SetSumValue(4, "합계");
 +
 + var colslength = dynamicColInfo.length +lastCol;
 + var scols = lastCol + 1;
 +
 + mySheet1.SetEditable(0);
 +
 + //doAction('retrieve');
 + }, function(actionType, obj) {
 + alert("ERROR getPayItem");
 + }, false);
 + }
 + </script>
 </code> </code>
white/ibsheet_dynamic.1539158507.txt.gz · 마지막으로 수정됨: 2025/04/15 10:05 (바깥 편집)