SMADT20100.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /**
  2. * 파 일 명 : SMADT20100.js
  3. * 설 명 : 특조 화면 칼럼 설정 Javascriot
  4. * 설 계 자 : 김치국
  5. * 작 성 자 : 김치국
  6. * 수정이력 : 2013.5.30 / 최초작성 / 김치국
  7. */
  8. /**
  9. * 조회데이타 칼럼 정리
  10. * @---------------------------------------------------
  11. */
  12. function fReqOrderInfoOfCol(grdid){
  13. model.removeNodeset("/root/send/reqdata");
  14. model.makeValue("/root/send/reqdata/scrnid" , model.getValue("/root/main/cond/scrnid"));
  15. model.makeValue("/root/send/reqdata/compscd" , model.getValue("/root/main/cond/compscd"));
  16. if(submit("TRADT20110")){
  17. var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
  18. var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
  19. if(refdata != "" || sizedata != ""){
  20. fSetOrderInfoOfCol(grdid + "_resize", refdata, sizedata);
  21. }
  22. }
  23. }
  24. /**
  25. * @desc : 컬럼 순서 정보 설정한다.
  26. * @
  27. * @param : grid ID : 그리드ID
  28. : refdata : 그리드 ref데이터 구분자 '^'
  29. : sizedata : 그리드 size데이터 구분자 '^'
  30. * @return :
  31. * @author : 오지훈
  32. * @---------------------------------------------------
  33. */
  34. function fSetOrderInfoOfCol(grdID, refdata, sizedata){
  35. var grdObj = document.controls.item(grdID);
  36. var refArray = refdata.split("^");
  37. var sizeArray = sizedata.split("^");
  38. for(var i = 0; i < refArray.length; i++){
  39. var colcnt = grdObj.colref("" + refArray[i] + "");
  40. if (colcnt <0 ) colcnt = 0;
  41. // 이동 컬럼과 대상컬럼의 인덱스가 같지 않은 경우만 이동.
  42. if (colcnt != i) {
  43. grdObj.colMove(i, colcnt, "before", false);
  44. }
  45. var size = sizeArray[i];
  46. if(size == 0){ // size of column 0 -> hidden
  47. grdObj.colHidden(i) = true;
  48. }else{
  49. grdObj.colHidden(i) = false;
  50. }
  51. grdObj.colWidth(i) = eval(size);
  52. }
  53. model.refresh();
  54. }
  55. function fSaveOrderInfoCol(){
  56. var grdid = model.getValue("/root/main/cond/grdid");
  57. var scrnid = model.getValue("/root/main/cond/scrnid");
  58. var compscd = model.getValue("/root/main/cond/compscd");
  59. fGetOrderInfoOfCol(grdid + "_resize");
  60. var refdata = model.getValue("/root/listval/refdata");
  61. var sizedata = model.getValue("/root/listval/sizedata");
  62. model.removeNodeset("/root/send/savedata");
  63. model.makeValue("/root/send/savedata/compscnts", ""); //추후 삭제 예정
  64. model.makeValue("/root/send/savedata/compsrefcnts", refdata);
  65. model.makeValue("/root/send/savedata/compssizecnts", sizedata);
  66. model.makeValue("/root/send/savedata/scrnid", scrnid);
  67. model.makeValue("/root/send/savedata/compscd" , compscd);
  68. submit("TXADT20110");
  69. }
  70. function fInitOrderOfCol(){
  71. var grdid = model.getValue("/root/main/cond/grdid");
  72. fGetOrderInfoOfCol(grdid); //현재 default로 설정된 grid의 column과 size를 구한다.
  73. var refdata = model.getValue("/root/listval/refdata");
  74. var sizedata = model.getValue("/root/listval/sizedata");
  75. fSetOrderInfoOfCol(grdid +"_resize", refdata, sizedata); //default로 설정된 grid의 column과 size를 다시 설정한다.
  76. }
  77. function fDelColOfGrd(){
  78. var grdid = model.getValue("/root/main/cond/grdid");
  79. var grdObj = document.controls.item(grdid + "_resize");
  80. var selectedCells = grdObj.selectedCells;
  81. for(var i = 0; i < selectedCells.length; i++){
  82. var curcol = selectedCells.item(i).col;
  83. grdObj.colWidth(curcol) = 0;
  84. grdObj.colHidden(curcol) = true;
  85. }
  86. grdObj.rebuild();
  87. }
  88. function fGetOrderInfoOfCol(grdID){
  89. var grdObj = document.controls.item(grdID);
  90. var refdata = ""; // ref
  91. var sizedata = ""; // size
  92. var totcol = grdObj.cols;
  93. for(var i = 0; i < totcol; i++){
  94. var refval = grdObj.colAttribute(i, "ref");
  95. refdata += refval + "^";
  96. var sizeval = grdObj.colWidth(i);
  97. sizedata += sizeval + "^";
  98. }
  99. refdata = refdata.substring(0 , refdata.length-1);
  100. sizedata = sizedata.substring(0, sizedata.length-1);
  101. model.removeNodeset("/root/listval");
  102. model.makeValue("/root/listval/refdata", refdata);
  103. model.makeValue("/root/listval/sizedata", sizedata);
  104. }
  105. function reqOrderInfoOfCol(scrnid, grdid, compscd){
  106. model.removeNodeset("/root/send/reqdata");
  107. model.makeValue("/root/send/reqdata/scrnid" , scrnid);
  108. model.makeValue("/root/send/reqdata/compscd" , compscd);
  109. if(submit("TRADT20110", false)){
  110. var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
  111. var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
  112. if(refdata != "" || sizedata != ""){
  113. setOrderInfoOfCol(grdid , refdata, sizedata);
  114. }
  115. }
  116. }
  117. function setOrderInfoOfCol(grdID, refdata, sizedata){
  118. var grdObj = document.controls.item(grdID);
  119. var refArray = refdata.split("^");
  120. var sizeArray = sizedata.split("^");
  121. fGetOrderInfoOfCol(grdID);
  122. var gridData = model.getValue("/root/listval/refdata")
  123. var gridDataArray = gridData.split("^");
  124. //-------(20101229) 경북대
  125. //임시로 막음
  126. //if (gridDataArray.length == refArray.length ) {
  127. grdObj.mergeCellsFixedRows = "never"
  128. for(var i = 0; i < refArray.length; i++){
  129. var colcnt = grdObj.colref("" + refArray[i] + "");
  130. if (colcnt <0 ) colcnt = 0;
  131. // 이동 컬럼과 대상컬럼의 인덱스가 같지 않은 경우만 이동.
  132. if (colcnt != i) {
  133. grdObj.colMove(i, colcnt, "before", false);
  134. }
  135. var size = sizeArray[i];
  136. var sizetemp = 0;
  137. if(size == 0){ // size of column 0 -> hidden
  138. grdObj.colHidden(i) = true;
  139. sizetemp = "1";
  140. }else{
  141. grdObj.colHidden(i) = false;
  142. sizetemp = "2";
  143. }
  144. grdObj.colWidth(i) = parseInt(size);
  145. }
  146. grdObj.mergeCellsFixedRows = "bycolrec"
  147. //} else {
  148. // messageBox("컬럼이 추가(삭제) 되었습니다\n\n컬럼설정 화면을 열어 \n\n초기화후 다시 설정하여 저장해주십시오","I");
  149. //}
  150. //-------(20101229) 경북대
  151. model.refresh();
  152. }