/************************************************************************************************ DATE : 2006-12-12 WRITER : Comsquare DEFINITION : TrustForm4.0 °øÅë JavaScript ( CMC ) *************************************************************************************************/ /************************************************************************************************ ÇÔ¼ö¸í : addComboItem () ÀÎÀÚ : String comboID - ÇØ´ç ÄÞº¸ ¾ÆÀ̵ð String label - Ãß°¡ ÇÒ ¾ÆÀÌÅÛ Lavel String value - Ãß°¡ ÇÒ ¾ÆÀÌÅÛ Value String [postion] - Ãß°¡ ÇÒ À§Ä¡( "above" | "below" ) °á°ú°ª : ÇÔ¼ö¼³¸í : ÄÞº¸ ¾ÆÀÌÅÛ Ãß°¡ ÇÔ¼ö ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 08. 21 ************************************************************************************************/ function addComboItem( comboID, label, value, position ) { var comboObj = document.all.item(comboID); // Combo ItemSet Á¤º¸ var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset"); var comboLabelRef = comboObj.choices.itemset.label.attribute("ref"); var comboValueRef = comboObj.choices.itemset.value.attribute("ref"); var nodeNn = instance1.selectSingleNode(comboItemNodeSet); if (nodeNn == null) { model.makeNode(comboItemNodeSet); model.makeNode(comboItemNodeSet+"/"+comboLabelRef); model.makeNode(comboItemNodeSet+"/"+comboValueRef); position = "init"; } // Item ³ëµå »ý¼º var itemNode = instance1.createNode("element", instance1.selectSingleNode(comboItemNodeSet).nodeName, ""); var labelNode = instance1.createNode("element", comboLabelRef, ""); var valueNode = instance1.createNode("element", comboValueRef, ""); if( label == null || label == "" ) label = "- Àü ü -"; labelNode.value = label; itemNode.appendChild(labelNode); if( value == null || value == "" ) value = ""; valueNode.value = value; itemNode.appendChild(valueNode); if( position == null || position == "" ) position = "above"; var destNode = instance1.selectSingleNode(comboItemNodeSet); var pDestNode = destNode.parentNode; if( position == "above" ) { pDestNode.insertBefore(itemNode, destNode); } else if ( position == "init" ) { pDestNode.insertBefore(itemNode, destNode); pDestNode.removeChild(destNode); } else { pDestNode.appendChild(itemNode); } comboObj.refresh(); } /************************************************************************************************ ÇÔ¼ö¸í : addComboItemAll () ÀÎÀÚ : String comboIDs - ÇØ´ç ÄÞº¸ ¾ÆÀ̵𠿹)"combo1|combo2|combo3" String label - Ãß°¡ ÇÒ ¾ÆÀÌÅÛ Label (default="- Àü ü - "); °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ðµç ÄÞº¸ ¾ÆÀÌÅÛ Ãß°¡ ÇÔ¼ö ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 08. 21 ************************************************************************************************/ function addComboItemAll( comboIDs, label ) { var comboIDArray = comboIDs.split("|"); if(label == null || label == "" ) label = "- Àü ü -"; for( var i = 0; i < comboIDArray.length; i++ ) addComboItem( comboIDArray[i], label, ""); } /************************************************************************************************ ÇÔ¼ö¸í : fileDownload () ÀÎÀÚ : String filePath - ´Ù¿î·Îµå ÆÄÀÏ Path Boolean encodingURI - URI Encoding ¼³Á¤(Default True) °á°ú°ª : ÇÔ¼ö¼³¸í : filePath ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 15 ************************************************************************************************/ function fileDownload( filePath, encode ) { if( encode == null ) encode = true; if( encode ) filePath = encodeURI(filePath); if(!body.isChild("_tmp_browserObj_forDown")) { document.body.createChild("xforms:browser", "id:_tmp_browserObj_forDown; visibility:hidden"); } _tmp_browserObj_forDown.navigate(filePath); } /************************************************************************************************ ÇÔ¼ö¸í : checkFileSize () ÀÎÀÚ : Object uploadObj - ¾÷·Îµå ÄÄÆ®·Ñ Object °á°ú°ª : true or false ÇÔ¼ö¼³¸í : upload ÄÁÆ®·ÑÀÇ ¸¶Áö¸· À妽º ÆÄÀÏÀÇ Å©±â¸¦ ºñ±³ÇÑ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 15 ************************************************************************************************/ function checkFileSize( uploadObj ) { var fileCnt = uploadObj.getFileCount(); var lastIndex = fileCnt - 1; var fileSize = uploadObj.getFileSize(lastIndex); var maxSize = uploadObj.attribute("filesize"); /* var fileFullName = uploadObj.getFileName(lastIndex); var fileNameArray = fileFullName.split("\\"); var fileName = fileNameArray[fileNameArray.length - 1]; */ //alert(fileName + " / " + fileSize); if ( fileSize <= maxSize ) return true; else return false; } /************************************************************************************************ ÇÔ¼ö¸í : checkFormUpdate () ÀÎÀÚ : °á°ú°ª : true or false ÇÔ¼ö¼³¸í : gvFormUpdateYN Àü¿ª º¯¼ö return ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 11 ************************************************************************************************/ function checkFormUpdate() { return gvFormUpdateYN; } /************************************************************************************************ ÇÔ¼ö¸í : checkKeyColumn () ÀÎÀÚ : String gridID - ±×¸®µå ¾ÆÀ̵ð °á°ú°ª : true or false ÇÔ¼ö¼³¸í : datagrid > col@_key="true"ÀÇ Ä÷³¿¡¼­ Ãß°¡µÈ ·Î¿ìÀÇ key °ªÀ» üũ ÇÑ´Ù.(Á¶È¸ µ¥ÀÌÅÍ ¼öÁ¤ ºÒ°¡) ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 12 ************************************************************************************************/ function checkKeyColumn( gridID ) { var rowsArray = getUpdateRows( gridID, "insert" ); var colsArray = getKeyCols( gridID, "_key" ); var gridObj = document.controls.item(gridID); var i, j; for( i = 0; i < rowsArray.length; i++ ) { for( j = 0; j < colsArray.length; j++ ) { // alert(rowsArray[i] + " / " + colsArray[j]); if( gridObj.valueMatrix(rowsArray[i], colsArray[j]) == "" ) { messageBox(gridObj.valueMatrix(gridObj.fixedRows - 1, colsArray[j]) + "Àº(´Â)", "I003"); gridObj.row = rowsArray[i]; gridObj.col = colsArray[j]; gridObj.editCell(); return false; } } } return true; } /************************************************************************************************ ÇÔ¼ö¸í : checkRequiredColumn () ÀÎÀÚ : String gridID - ±×¸®µå ¾ÆÀ̵ð °á°ú°ª : true or false ÇÔ¼ö¼³¸í : datagrid > col@_required="true"ÀÇ Ä÷³¿¡¼­ Ãß°¡µÈ ·Î¿ìÀÇ key °ªÀ» üũ ÇÑ´Ù.(Á¶È¸ µ¥ÀÌÅÍ ¼öÁ¤ °¡´É) ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 10. 12 ************************************************************************************************/ function checkRequiredColumn( gridID ) { var rowsArray = getUpdateRows( gridID, "insert" ); rowsArray = getUpdateRows( gridID, "update", rowsArray ); var colsArray = getKeyCols( gridID, "_required" ); var gridObj = document.controls.item(gridID); var i, j; for( i = 0; i < rowsArray.length; i++ ) { for( j = 0; j < colsArray.length; j++ ) { // alert(rowsArray[i] + " / " + colsArray[j]); if( gridObj.valueMatrix(rowsArray[i], colsArray[j]) == "" ) { messageBox(gridObj.valueMatrix(gridObj.fixedRows - 1, colsArray[j]) + "Àº(´Â)", "I003"); gridObj.row = rowsArray[i]; gridObj.col = colsArray[j]; gridObj.editCell(); return false; } } } return true; } function getUpdateRows( gridID, status, rowsArray ) { var gridObj = document.controls.item(gridID); var sCol = gridObj.attribute("colsep"); var sRow = gridObj.attribute("rowsep"); var gridStatus = gridObj.getUpdateData(status); var rowStatusArray = gridStatus.split(sRow); var rowStatusCnt = rowStatusArray.length; var rowsArrayLen = 0; if( rowsArray == null ) { rowsArray = new Array(); } else { rowsArrayLen = rowsArray.length; } for( var i = 0; i < rowStatusCnt - 2; i++ ) { rowsArray[i + rowsArrayLen] = rowStatusArray[i + 1].split(sCol)[1]; } return rowsArray; } function getKeyCols( gridID, atttibutezName ) { var gridObj = document.controls.item(gridID); var gridCols = gridObj.cols; var rColsArray = new Array(); var i, j = 0; for( i = 0; i < gridCols; i++) { if( gridObj.colAttribute(i, atttibutezName) == "true" ) { rColsArray[j++] = i; } } return rColsArray; } /************************************************************************************************ ÇÔ¼ö¸í : copyNodeListType () ÀÎÀÚ : String strDest - ¸ñÀû ³ëµå °æ·Î String strSrc - ¼Ò½º ³ëµå ¸®½ºÆ® °æ·Î String [mode] - copy ¹æ½Ä( "replace" | "after" | "before" ) Object [destModel] - ¸ñÀû ³ëµå ¸®½ºÆ® ¸ðµ¨ Object [srcModel] - ¸ñÀû ³ëµå ¸®½ºÆ® ¸ðµ¨ °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ñÀû ³ëµå¿¡ ¼Ò½º ³ëµåµéÀ» mdoe¹æ½Ä¿¡ µû¶ó copy ÇÔ. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 05. 01 ************************************************************************************************/ function copyNodeListType(strDest, strSrc, mode, destModel, srcModel) { if( typeof(destModel) == "object" || typeof(destModel) == "undefined" ) { if( destModel == null ) { destModel = model; } } else { if( destModel == "" ) { destModel = model; } } var destNode = destModel.instance1.selectSingleNode(strDest); if( destNode == null ) return; var destChildNodeList = destNode.childNodes; if( typeof(srcModel) == "object" || typeof(srcModel) == "undefined" ) { if( srcModel == null ) { srcModel = model; } } else { if( srcModel == "" ) { srcModel = model; } } var srcNodeList = srcModel.instance1.selectNodes(strSrc); var srcNode; if( srcNodeList.length == 0 ) return; // mode = "replace" | "after" | null if( mode != "before" ) { if( mode == "replace" || mode == null ) { removeChildren(strDest, destModel) } while( srcNode = srcNodeList.nextNode() ) { // destNode.appendChild(srcNode.cloneNode(true)); model.duplicate(destNode, srcNode); } } // before mode´Â Å×½ºÆ® ÇÊ¿ä!!! else { /* var destFirstChildNode = destNode.firstChild; while( srcNode = srcNodeList.nextNode() ) { destNode.insertBefore(srcNode.cloneNode(true), destFirstChildNode); } */ for( var i = srcNodeList.length - 1; i >= 0; i-- ) { destNode = destModel.instance1.selectSingleNode(strDest); srcNode = srcNodeList.item(i); model.duplicate(destNode, srcNode, "*[1]"); } } } /************************************************************************************************ ÇÔ¼ö¸í : copyNodesetType () ÀÎÀÚ : String strDest - ¸ñÀû ³ëµå ¸®½ºÆ® °æ·Î String strSrc - ¼Ò½º ³ëµå ¸®½ºÆ® °æ·Î String [mode] - copy ¹æ½Ä( "replace" | "after" | "before" ) Object [destModel] - ¸ñÀû ³ëµå ¸®½ºÆ® ¸ðµ¨ Object [srcModel] - ¸ñÀû ³ëµå ¸®½ºÆ® ¸ðµ¨ °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ñÀû ³ëµå¼Â¿¡ ¼Ò½º ÇÏÀ§ ³ëµå¼ÂµéÀ» mdoe¹æ½Ä¿¡ µû¶ó copy ÇÔ. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 05. 02 ************************************************************************************************/ function copyNodesetType(strDest, strSrc, mode, destModel, srcModel) { if( typeof(destModel) == "object" || typeof(destModel) == "undefined" ) { if( destModel == null ) { destModel = model; } } else { if( destModel == "" ) { destModel = model; } } if( typeof(srcModel) == "object" || typeof(srcModel) == "undefined" ) { if( srcModel == null ) { srcModel = model; } } else { if( srcModel == "" ) { srcModel = model; } } var destNodeList = destModel.instance1.selectNodes(strDest); if( destNodeList == null || destNodeList.length == 0 ) { return; } var pDestNode = destNodeList(0).parentNode; var destLastNodesetName = destNodeList(0).nodeName; var srcNodeList = srcModel.instance1.selectNodes(strSrc); if( srcNodeList == null || srcNodeList.length == 0 ) return; if( mode != "before" ) { if( mode == "replace" || mode == null ) { destModel.removeNodeset(strDest); } var srcNode; var tmpSrcNode; while( srcNode = srcNodeList.nextNode() ) { tmpSrcNode = srcNode.cloneNode(true); tmpSrcNode.nodeName = destLastNodesetName; // pDestNode.appendChild(tmpSrcNode); model.duplicate(pDestNode, tmpSrcNode); } } else { /* var destFirstChildNode = destNodeList.firstChild; var srcNode; var tmpSrcNode; while( srcNode = srcNodeList.nextNode() ) { tmpSrcNode = srcNode.cloneNode(true); tmpSrcNode.nodeName = destLastNodesetName; pDestNode.insertBefore(tmpSrcNode, destFirstChildNode); } */ var tmpSrcNode; for( var i = srcNodeList.length - 1; i >= 0; i-- ) { pDestNode = destModel.instance1.selectSingleNode(strDest).parentNode; tmpSrcNode = srcNodeList.item(i).cloneNode(true); tmpSrcNode.nodeName = destLastNodesetName; model.duplicate(pDestNode, tmpSrcNode, "*[1]"); } } } /************************************************************************************************ ÇÔ¼ö¸í : copyNodeType () ÀÎÀÚ : String strDest - ¸ñÀû ³ëµå °æ·Î String strSrc - ¼Ò½º ³ëµå °æ·Î String [mode] - copy ¹æ½Ä( "replace" | "after" | "before" ) Object [destModel] - ¸ñÀû ³ëµå ¸ðµ¨ Object [srcModel] - ¸ñÀû ³ëµå ¸ðµ¨ °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ñÀû ³ëµå¿¡ ¼Ò½º ÇÏÀ§ ³ëµåµéÀ» mdoe¹æ½Ä¿¡ µû¶ó copy ÇÔ. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 21 ¼ö Á¤ ÀÏ : 2007. 04. 10 ( - ÇÔ¼ö¸í º¯°æ : copyNodeset() -> copyNodeType() ) ************************************************************************************************/ function copyNodeType(strDest, strSrc, mode, destModel, srcModel) { if( typeof(destModel) == "object" || typeof(destModel) == "undefined" ) { if( destModel == null ) { destModel = model; } } else { if( destModel == "" ) { destModel = model; } } var destNode = destModel.instance1.selectSingleNode(strDest); if( destNode == null ) return; var destChildNodeList = destNode.childNodes; if( typeof(srcModel) == "object" || typeof(srcModel) == "undefined" ) { if( srcModel == null ) { srcModel = model; } } else { if( srcModel == "" ) { srcModel = model; } } var srcNode = srcModel.instance1.selectSingleNode(strSrc); if( srcNode == null ) return; var cSrcNode = srcNode.cloneNode(true); var cSrcChildNodeList = cSrcNode.childNodes; var cSrcChildNode; if( cSrcChildNodeList.length == 0 ) return; // mode = "replace" | "after" | null if( mode != "before" ) { if( mode == "replace" || mode == null ) { removeChildren(strDest, destModel) } while( cSrcChildNode = cSrcChildNodeList.nextNode() ) { // destNode.appendChild(cSrcChildNode); model.duplicate(destNode, cSrcChildNode); } } // before mode´Â Å×½ºÆ® ÇÊ¿ä!!! else { /* var destFirstChildNode = destNode.firstChild; while( cSrcChildNode = cSrcChildNodeList.nextNode() ) { destNode.insertBefore(cSrcChildNode, destFirstChildNode); } */ for( var i = cSrcChildNodeList.length - 1; i >= 0; i-- ) { destNode = destModel.instance1.selectSingleNode(strDest); cSrcChildNode = cSrcChildNodeList.item(i); model.duplicate(destNode, cSrcChildNode, "*[1]"); } } } /************************************************************************************************ ÇÔ¼ö¸í : copyNodeWithPostfix () ÀÎÀÚ : String strDest - ¸ñÀû ³ëµå °æ·Î String strSrc - ¼Ò½º ³ëµå °æ·Î String postfix - Ãß°¡ ÇÒ ³ëµå ³×ÀÓ Object [destModel] - ¸ñÀû ³ëµå ¸ðµ¨ Object [srcModel] - ¸ñÀû ³ëµå ¸ðµ¨ °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ñÀû ³ëµåÀÇ ÀÚ½Ä ³ëµå¸¦ »èÁ¦ÈÄ ¼Ò½º ³ëµåÀÇ ÀÚ½Ä ³ëµå¿¡ postfixÀÇ ³ëµå³×ÀÓÀ» Ãß°¡ ÇÏ¿© copy ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 21 ************************************************************************************************/ function copyNodeWithPostfix(strDest, strSrc, postfix, destModel, srcModel) { removeChildren(strDest, destModel); var modelObj; if( srcModel == null ) { modelObj = model; } else modelObj = srcModel; var srcNode = modelObj.instance1.selectSingleNode(strSrc); var cSrcNode = srcNode.cloneNode(true); var cSrcChildNodeList = cSrcNode.childNodes; var cSrcChildNode; var destNode; if( destModel == null ) destNode = instance1.selectSingleNode(strDest); else destNode = destModel.instance1.selectSingleNode(strDest); while( cSrcChildNode = cSrcChildNodeList.nextNode() ) { cSrcChildNode.nodeName = cSrcChildNode.nodeName + postfix; // destNode.appendChild(cSrcChildNode); model.duplicate(destNode, cSrcChildNode); } } /************************************************************************************************ ÇÔ¼ö¸í : setCSVToNode () ÀÎÀÚ : String destRef - ¸ñÀû ³ëµå °æ·Î String CSV - CSV * getNodeListCSV() ÇÔ¼ö return value String [nodeSetName] - ³ëµå¼Â ³×ÀÓ °á°ú°ª : ÇÔ¼ö¼³¸í : ¸ñÀû³ëµå(destRef)¿¡ CSV¸¦ makeValue ÇØÁØ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 13 ************************************************************************************************/ function setCSVToNode(destRef, CSV, nodeSetName) { var sColSep = "¢Ë"; var sRowSep = "¢Ì"; // Çì´õ°ª, Áï Ä÷³¸íÀ» ¾ò¾î¿Â´Ù var nodeNameArray = CSV.split(sRowSep)[0].split(sColSep); // Ä÷³ÀÇ °³¼ö¸¦ ¾ò¾î¿Â´Ù var nodeNameArrayCnt = nodeNameArray.length; // tempDestNode if( nodeSetName == null || nodeSetName == "") nodeSetName = "list"; // nodeSetName¶ó´Â À̸§ÀÇ element¸¦ »ý¼ºÇÑ´Ù var tmpDestNode = instance1.createElement(nodeSetName); var tmpDestChildNode; var i, j; for( i = 0; i < nodeNameArrayCnt; i++ ) { // nodeNameArray[i]ÀÇ À̸§À¸·Î element¸¦ »ý¼ºÇÑ´Ù(Áï Ä÷³¸í ÇϳªÇϳª·Î element¸¦ »ý¼ºÇÑ´Ù) tmpDestChildNode = instance1.createElement(nodeNameArray[i]); // tmpDestNode¿¡ tmpDestChildNodeÀÇ °ªÀ» º¹»çÇÑ´Ù model.duplicate(tmpDestNode, tmpDestChildNode); } // Çì´õ°ª, Áï Ä÷³¸í°ú ¼±ÅÃÇÑ µ¥ÀÌÅ͵éÀ» ·Î¿ì(Çà)´ÜÀ§·Î Àß¶ó¼­ ¾ò¾î¿Â´Ù var CSVArray = CSV.split(sRowSep); // CSVArray¿¡¼­ ¾ò¾î¿Â ·Î¿ì(Çà)ÀÇ °¹¼ö¸¦ °¡Áö°í ¿Â´Ù(µ¥ÀÌÅͰ¡ 2°³À̸é Ä÷³¸í ±îÁö ÇØ¼­ ÃÑ 3À» ¾ò¾î¿Â´Ù) var CSVArrayCnt = CSVArray.length - 1; // destRef³ëµå¸¦ ¹ÝȯÇÑ´Ù var srcNode = instance1.selectSingleNode(destRef); var nodeValueArray; // ½ÃÀÛÁ¡À» 1·Î ÇÏ´Â ÀÌÀ¯´Â Ä÷³¸íÀº ÇÊ¿ä ¾ø±â ¶§¹®¿¡ 1ºÎÅÍ ÇØ¼­ µ¥ÀÌÅ͸¸ »Ì¾Æ¿À±â À§Çؼ­ÀÌ´Ù for( i = 1; i < CSVArrayCnt; i++ ) { // ù¹øÂ° ·Î¿ì(Çà)ÀÇ µ¥ÀÌÅ͸¦ °¡Áö°í ¿Â´Ù nodeValueArray = CSVArray[i]; for ( j = 0; j < nodeNameArrayCnt; j++ ) { // °¢ ·Î¿ì(Çà)ÀÇ µ¥ÀÌÅ͸¦ Ä÷³ ´ÜÀ§·Î ÇϳªÇϳª °¡Áö°í ¿Í¼­ tmpDestNodeÀÇ Àڽijëµå¿¡ ÇϳªÇϳª ³Ö¾îÁØ´Ù tmpDestNode.childNodes.item(j).text = nodeValueArray.split(sColSep)[j]; } model.duplicate(srcNode, tmpDestNode); } } /************************************************************************************************ ÇÔ¼ö¸í : deleteSelectedRows () ÀÎÀÚ : Object grd - ±×¸®µå °´Ã¼ Boolean markonly - trueÀ̸é Áö¿ìÁö ¾Ê°í »óŸ¸ delete »óÅ·Πº¯°æ °á°ú°ª : ÇÔ¼ö¼³¸í : ¼±ÅÃµÈ ÇàµéÀ» ¸ðµÎ Áö¿ì°Å³ª deleted »óÅ·Π¸¶Å© ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è Çüµµ ÀÛ ¼º ÀÏ : 2007. 02. 21 ************************************************************************************************/ function deleteSelectedRows(grd,markonly) { var rowIdx; if (grd.selectedRows > 0) { var selectedRows = Array(grd.selectedRows); for(i=0;i=0;i--) { rowIdx = selectedRows[i]; if(grd.rowstatus(rowIdx) == 1 ) { // just inserted row grd.deleterow(rowIdx,false); } else { grd.addStatus(rowIdx,"delete"); } } } else { for(i=selectedRows.length-1;i>=0;i--) { rowIdx = selectedRows[i]; grd.deleterow(rowIdx,false); } } } } /************************************************************************************************ ÇÔ¼ö¸í : getGridUpdateData () ÀÎÀÚ : Object gridID - ±×¸®µå ¾ÆÀ̵ð °á°ú°ª : String updataData or "" ÇÔ¼ö¼³¸í : ±×¸®µå ¾÷µ¥ÀÌÆ® µ¥ÀÌÅÍ ¹Ýȯ, ¾÷µ¥ÀÌÆ® Á¤º¸°¡ ¾øÀ»°æ¿ì "" ¹Ýȯ ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 02. 20 ************************************************************************************************/ function getGridUpdateData(gridObj, statusType) { var updataData = gridObj.getUpdateData(statusType); var rowsep = gridObj.attribute("rowsep"); var split = updataData.split(rowsep); if(split.length > 2){ return updataData; } else return ""; } /************************************************************************************************ ÇÔ¼ö¸í : getImageSize () ÀÎÀÚ : String fileName - À̹ÌÁö ÆÄÀÏ¸í °á°ú°ª : String width^height ¿¹) 20^20) ÇÔ¼ö¼³¸í : À̹ÌÁö Width, Height ¹Ýȯ ÇÔ¼ö ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 01. 31 ************************************************************************************************/ function getImageSize(fileName) { var newCtrObj = null; if(document.controls("_image_forSize") == null) { newCtrObj = body.createChild("xforms:img", "id:_image_forSize; src:" + fileName + "; left:0px; top:0px; width:1px; height:1px;"); newCtrObj.visible = false; } else{ //_image_forSize.visible = true; newCtrObj = document.controls("_image_forSize"); newCtrObj.src = fileName; } newCtrObj.attribute("width") = null; newCtrObj.attribute("height") = null; newCtrObj.visible = false; var imgW = newCtrObj.attribute("width").replace("px", ""); var imgH = newCtrObj.attribute("height").replace("px", ""); body.removeChild("_image_forSize"); //½ºÅ©·ÑÀÌ »ý±â´Â°É ¸·±âÀ§Çؼ­ Áö¿öÁÜ. return imgW + "^" + imgH; } /************************************************************************************************ ÇÔ¼ö¸í : getNodeListCSV () ÀÎÀÚ : Object nodeList - ³ëµå ¸®½ºÆ® °á°ú°ª : String rCSV ¿¹) a¢Ëb¢Ëc¢Ìtrue¢Ë1¢Ë1¢Ìtrue¢Ë3¢Ë3¢Ìtrue¢Ë5¢Ë5¢Ì ÇÔ¼ö¼³¸í : ³ëµå¸®½ºÆ®¸¦ CSV·Î ¹ÝȯÇÑ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 13 ************************************************************************************************/ function getNodeListCSV(nodeList) { if( nodeList.length == 0 ) return; var sColSep = "¢Ë"; var sRowSep = "¢Ì"; var rCSV = ""; var childNodeList = nodeList.item(0).childNodes; var childNodeCnt = childNodeList.length; if( childNodeCnt == 0 ) return; var i, j; for( i = 0; i < childNodeCnt - 1; i++) { rCSV += childNodeList.item(i).nodeName + sColSep; } rCSV += childNodeList.item(i).nodeName + sRowSep; var node; while( node = nodeList.nextNode() ) { childNodeList = node.childNodes; for( i = 0; i < childNodeCnt - 1; i++) { rCSV += childNodeList.item(i).text + sColSep; } rCSV += childNodeList.item(i).text + sRowSep; } return rCSV; } /************************************************************************************************ ÇÔ¼ö¸í : getNodesetCount () ÀÎÀÚ : String nodeSet - xPath °á°ú°ª : Integer Count ÇÔ¼ö¼³¸í : ³ëµå¼ÂÀÇ °¹¼ö ¹Ýȯ ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 12 ************************************************************************************************/ function getNodesetCount( nodeSet ) { var xPathFunction = "count(" + nodeSet + ")"; return model.getXPathValue(xPathFunction); } /************************************************************************************************ ÇÔ¼ö¸í : isDataCell () ÀÎÀÚ : °á°ú°ª : Boolean true or false ÇÔ¼ö¼³¸í : datagrid click or dbclick ½ÃÁ¡¿¡ ÇöÀç click targetÀÌ data ¿µ¿ªÀÎÁö check ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 12 ************************************************************************************************/ function isDataCell() { var gridObj = event.ptarget.parent; if( gridObj.isCell(event.target) && gridObj.row >= gridObj.fixedRows && gridObj.col >= gridObj.fixedCols) { return true; } else return false; } /************************************************************************************************ ÇÔ¼ö¸í : isRequiredControls () ÀÎÀÚ : String controlID_1 - ÄÁÆ®·Ñ ¾ÆÀ̵ð String [controlID_2] - ÄÁÆ®·Ñ ¾ÆÀ̵ð ... °á°ú°ª : Boolean true or false ÇÔ¼ö¼³¸í : ÀÔ·Â ÄÁÆ®·ÑµéÀÇ Çʼö°ª üũ * »ç¿ë¿¹) isRequiredControls("ipt_01", "sct_02", "tar_03"); * ÁÖÀÇ) ÀÔ·Â ÄÁÆ®·ÑÀÌ ¾ÆÀ̵𰡠"ipt_01"ÀÏ °æ¿ì messageBox pMessage´Â "cap_01" ĸ¼Ç ÄÁÆ®·ÑÀ» ÂüÁ¶ ÇÔ. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 02. 15 ************************************************************************************************/ function isRequiredControls() { var controlCnt = isRequiredControls.arguments.length; var controlID, captionID; var controlObj, captionObj; for(var i=0; i maxBytes) { messageBox("ÆÄÀÏ Å©±â°¡ ÃÖ´ëÄ¡("+(maxBytes/1024)+"K)¸¦","E003"); return ""; } } return file; } /************************************************************************************************ ÇÔ¼ö¸í : removeChildren () ÀÎÀÚ : String destNodePath - ¸ñÀû ³ëµå °æ·Î Object [destModel] - ¸ñÀû ³ëµå ¸ðµ¨ °á°ú°ª : ÇÔ¼ö¼³¸í : °æ·ÎÀÇ ³ëµå¸¦ »èÁ¦ ÈÄ µ¿ÀÏ ³ëµå¸¦ »ý¼º ÇÑ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 03. 21 ************************************************************************************************/ function removeChildren( destNodePath, destModel ) { var modelObj; if( destModel == null ) { modelObj = model; } else modelObj = destModel; // 1 /* modelObj.removenode(xPath); modelObj.makeNode(xPath); */ // 2 var node = modelObj.instance1.selectSingleNode(destNodePath); var childNodeList = node.childNodes; var childNode; while( childNode = childNodeList.nextNode() ) { node.removeChild( childNode ); } } /************************************************************************************************ ÇÔ¼ö¸í : removeMask () ÀÎÀÚ : String mask - Á¦°ÅÇÒ ¸¶½ºÅ© ¹®ÀÚ °á°ú°ª : ÇÔ¼ö¼³¸í : ½ºÆ®¸µ °´Ã¼ÀÇ ÇØ´ç ¸¶½ºÅ© ¹®ÀÚ¸¦ Á¦°ÅÈÄ ¹Ýȯ ÇÑ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 05. 31 ************************************************************************************************/ String.prototype.removeMask = removeMask; function removeMask( mask ) { var tmp_this = this; while( tmp_this.indexOf(mask) > -1 ) { tmp_this = tmp_this.replace(mask, ""); } return tmp_this; } /************************************************************************************************ ÇÔ¼ö¸í : setFormUpdate () ÀÎÀÚ : °á°ú°ª : ÇÔ¼ö¼³¸í : gvFormUpdateYN Àü¿ª º¯¼ö true ¼³Á¤ ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 04. 01 ************************************************************************************************/ function setFormUpdate() { gvFormUpdateYN = true; } /************************************************************************************************ ÇÔ¼ö¸í : setGridColorPicker () ÀÎÀÚ : String gridID - ±×¸®µå ¾ÆÀ̵ð String xPath - Ä÷¯ »óŸ¦ ÀúÀåÇ× ³ëµå(µðÆúÆ®·Î ±×¸®µå ³ëµå¼Â ÇüÁ¦³ëµå(cellState, rowStaye)¿¡ ÀúÀåµÊ) °á°ú°ª : ÇÔ¼ö¼³¸í : ±×¸®µåÀÇ Cell ¶Ç´Â RowÀÇ BackGround-Color ¼³Á¤ Iviewer »ý¼º ÇÔ¼ö * xforms-ready :: setGridColorPicker(); ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 01. 25 ************************************************************************************************/ /************************************************************************************************ ÇÔ¼ö¸í : setImageRefInstance () ÀÎÀÚ : String xPath - ³ëµå XPath °á°ú°ª : ÇÔ¼ö¼³¸í : À̹ÌÁö ÄÁÆ®·ÑÀÌ ÂüÁ¶ÇÏ´Â ref ÀνºÅϽº ³ëµå(xpath)ÀÇ type ¼Ó¼ºÀ» "xsd:base64Binary"·Î ¼³Á¤ÇÑ´Ù. ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è Çüµµ ÀÛ ¼º ÀÏ : 2007. 02. 23 ************************************************************************************************/ function setImageRefInstance(xpath) { var node = instance1.selectSingleNode(xpath); if( node == null ) return; node.setattribute("type","xsd:base64Binary"); } /************************************************************************************************ ÇÔ¼ö¸í : setInputNodeCurText () ÀÎÀÚ : String mask - Á¦°ÅÇÒ ¸¶½ºÅ© ¹®ÀÚ °á°ú°ª : ÇÔ¼ö¼³¸í : ÀÎDz¿¡ ref ³ëµå¿¡ ÇöÀç label setValue * Âü°í) ÀÎDz ÄÁÆ®·ÑÀº Æ÷Ä¿½º¾Æ¿ô ½ÃÁ¡¿¡ ³ëµå¿¡ °ªÀÌ ¹Ý¿µµÊ * ÁÖÀÇ) ev:event="onkeyup"¿¡ Àû¿ë ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 02. 09 ************************************************************************************************/ function setInputNodeCurText( mask ) { var inputID = event.target; var inputObj = document.controls(inputID); var inputRef = inputObj.attribute("ref"); if( mask == null ) model.setValue(inputRef, inputObj.currentText); else model.setValue(inputRef, inputObj.currentText.removeMask(mask)); inputObj.refresh(); setFormUpdate(); } /************************************************************************************************ ÇÔ¼ö¸í : setCellStyle () ÀÎÀÚ : String gridID - ±×¸®µå ¾ÆÀ̵ð String styleFlag - Ä÷¯ À妽º String data - µ¥ÀÌÅÍ °ª Srting colRef - ºñ±³ÇÒ Ä÷³ Ref String [control] - Á¶°Ç smaller | smallerThen | equal | biggerThen | bigger °á°ú°ª : ÇÔ¼ö¼³¸í : ±×¸®µå ƯÁ¤ Ä÷³°ªÀ» ºñ±³ÇÏ¿© CellÀÇ BackGround-Corol º¯°æ * »ç¿ë¿¹) setCellStyle("datagrid1", "1", "1", "b", "bigger"); ************************************************************************************************ ÀÛ ¼º ÀÚ : ¾î ½Â¿Á ÀÛ ¼º ÀÏ : 2007. 07. 28 ************************************************************************************************/ function setCellStyle( gridID , styleFlag , data , colRef , control ) { var style = new Array("#fcd2c1" , "#ffe79d" , "#f3e1bf" , "#7BE6B7" , "#b9e5fb" , "#f7a08b" , "#fec34d" , "#dec6a4" , "#c8e67b" , "#43c8f5", "#99cf16", "#e5f3c2" ); var styleFlags = styleFlag.split("^"); var datas = data.split("^"); if( control == null || control == "" ) control = "equal"; var controls = control.split("^"); gridObj = document.all(gridID); gridObj.backcoloralternate = "transparent"; for( var j = 0 ; j < datas.length ; j++ ) { var dataValue = datas[j]; var styleValue = style[styleFlags[j]]; for( var i = gridObj.fixedRows ; i < gridObj.Rows ; i++ ) { if(controls[j] == null) controls[j] = "equal"; switch( controls[j] ) { case "small": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) < dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; case "smallThen": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) <= dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; case "bigger": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) > dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; case "biggerThen": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) >= dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; case "notEqual": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) != dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; case "equal": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) == dataValue ) { gridObj.cellStyle("background-color", i, gridObj.colRef(colRef)) = styleValue; } break; } } } } /************************************************************************************************ ÇÔ¼ö¸í : setRowStyle () ÀÎÀÚ : String gridID - ±×¸®µå ¾ÆÀ̵ð String styleFlag - Ä÷¯ À妽º String data - µ¥ÀÌÅÍ °ª Srting colRef - ºñ±³ÇÒ Ä÷³ Ref String [control] - Á¶°Ç smaller | smallerThen | equal | biggerThen | bigger °á°ú°ª : ÇÔ¼ö¼³¸í : ±×¸®µå ƯÁ¤ Ä÷³°ªÀ» ºñ±³ÇÏ¿© ·Î¿ì ¹éÄ÷¯ º¯°æ * »ç¿ë¿¹) setRowStyle("datagrid1", "1", "1", "b", "bigger"); ************************************************************************************************ ÀÛ ¼º ÀÚ : ¾î ½Â¿Á ÀÛ ¼º ÀÏ : 2006. 12. 01 ************************************************************************************************/ function setRowStyle( gridID , styleFlag , data , colRef , control ) { var style = new Array("#fcd2c1" , "#ffe79d" , "#f3e1bf" , "#7BE6B7" , "#b9e5fb" , "#f7a08b" , "#fec34d" , "#dec6a4" , "#c8e67b" , "#43c8f5", "#99cf16", "#e5f3c2" ,"#fd97b7", "#99ccff", "#ffff99", "#ccffcc"); var styleFlags = styleFlag.split("^"); var datas = data.split("^"); if( control == null || control == "" ) control = "equal"; var controls = control.split("^"); gridObj = document.all(gridID); gridObj.backcoloralternate = "transparent"; for( var j = 0 ; j < datas.length ; j++ ) { var dataValue = datas[j]; var styleValue = style[styleFlags[j]]; for( var i = gridObj.fixedRows ; i < gridObj.Rows ; i++ ) { if(controls[j] == null) controls[j] = "equal"; switch( controls[j] ) { case "small": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) < dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; case "smallThen": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) <= dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; case "bigger": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) > dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; case "biggerThen": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) >= dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; case "notEqual": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) != dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; case "equal": if( gridObj.valueMatrix(i , gridObj.colRef(colRef)) == dataValue ) { gridObj.rowstyle( i , "data" , "background-color" ) = styleValue; } break; } } } } /************************************************************************************************ ÇÔ¼ö¸í : initGridStyle () ÀÎÀÚ : Object gridObj - ±×¸®µå ¿ÀºêÅØÆ® °á°ú°ª : ÇÔ¼ö¼³¸í : ±×¸®µåÀÇ cell, row ½ºÅ¸ÀÏ ÃʱâÈ­ ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è¼±Èñ ÀÛ ¼º ÀÏ : 2007. 10. 15 ************************************************************************************************/ function initGridStyle(gridID){ gridObj = document.all(gridID); gridObj.rebuildStyle(); gridObj.backcoloralternate = "#f4f4f4"; } /************************************************************************************************ ÇÔ¼ö¸í : setTree () ÀÎÀÚ : Object gridObj - ±×¸®µå ¿ÀºêÅØÆ® Integer levelcol - Depth Ä÷³ À§Ä¡ Integer targetcol - ¾Æ¿ô¶óÀÎ »ý¼º Ä÷³ À§Ä¡ Boolean collapsed - Expand ¼³Á¤ Integer outlinebar - ¾Æ¿ô¶óÀÎ ÇüÅ (0:Æ®¸®±¸Á¶·Î º¸¿©ÁöÁö ¾ÊÀ½-ÀϹÝÄ÷³) (1:Æ®¸®¸¦ ¿¬°áÇÏ´Â ¼±º¸ÀÌÁö ¾ÊÀ½/¹Ú½ºº¸ÀÓ) (2:±âº»°ª-Æ®¸®¸¦ ¿¬°áÇÏ´Â ¼±º¸ÀÓ/¹Ú½ºº¸ÀÓ) (3:Æ®¸®¸¦ ¿¬°áÇÏ´Â ¼±º¸ÀÌÁö ¾ÊÀ½/ÇÏÀ§³ëµå°¡ ¾øÀ¸¸é ¹Ú½º º¸ÀÌÁö ¾Ê) (4:Æ®¸®¸¦ ¿¬°áÇÏ´Â ¼±º¸ÀÓ/ÇÏÀ§³ëµå°¡ ¾øÀ¸¸é ¹Ú½º º¸ÀÌÁö ¾ÊÀ½) (5:Æ®¸®¸¦ ¿¬°áÇÏ´Â ¼±º¸ÀÌÁö ¾ÊÀ½/¹Ú½ºº¸ÀÌÁö ¾ÊÀ½) °á°ú°ª : ÇÔ¼ö¼³¸í : ¾Æ¿ô¶óÀÎ ¿É¼Ç Ãß°¡ - 2008.04.25 by hoya ************************************************************************************************ ÀÛ ¼º ÀÚ : ¾î ½Â¿Á ÀÛ ¼º ÀÏ : 2006. 12. 01 ************************************************************************************************/ function setTree( gridObj, levelcol, targetcol, collapsed, outlinebar ) { // ±×¸®µå ¾Æ¿ô¶óÀ̹٠ÃʱâÈ­ //gridObj.outlinebar=0; //tree ¹× ·¹º§¼³Á¤ for(var i = gridObj.fixedRows; i < gridObj.rows; i++) { //gridObj.issubtotal(i) = true; try { gridObj.outlinelevel(i)=gridObj.valuematrix(i, levelcol); //ÀνºÅϽº levl °ªÀÓ } catch(e) { } } // tree ´ë»ó Ä÷³ ¹× ÇüÅ ¼³Á¤ gridObj.outlinecol=targetcol; //¿¬°á¼±ÀÌ Ç¥ÇöµÇ´Â Ä÷³ if (outlinebar == "" || outlinebar == null) { gridObj.outlinebar = 2; } else { gridObj.outlinebar=outlinebar; //¿¬°á¼± ÇüÅ ¼³Á¤ (+ , - , »ç°¢Çü ¾Èº¸ÀÌ°Ô ÇÏ·Á¸é 0 À¸·Î ¼¼ÆÃ) } gridObj.treecolor="#948777" // ÀÚ½Ä Æ®¸® Á¢±â if(collapsed != null) { setCollapsed(gridObj, collapsed); } } /************************************************************************************************ ÇÔ¼ö¸í : setCollapsed () ÀÎÀÚ : Object gridObj - ±×¸®µå ¿ÀºêÅØÆ® Boolean collapsed - Expand ¼³Á¤ °á°ú°ª : ÇÔ¼ö¼³¸í : ************************************************************************************************ ÀÛ ¼º ÀÚ : ±è ±â¿ë ÀÛ ¼º ÀÏ : 2007. 07. 24 ************************************************************************************************/ function setCollapsed( gridObj, collapsed ) { for(var i = gridObj.fixedrows; i tmpValue_02 ) { tmpIndex = j; } break; } if( i != tmpIndex ) { model.duplicate(instance1.selectSingleNode(nodeset).parentNode, nodeset + "[" + tmpIndex + "]", "*[" + i + "]"); model.removenode(nodeset + "[" + ( tmpIndex + 1 ) + "]"); tmpIndex = i; } } } } //=============================================================================================== // Àü¿ª º¯¼ö //=============================================================================================== var gvFormUpdateYN = false; // xforms_value_changed °ü·Ã boolen º¯¼ö //=============================================================================================== // onaftersort //=============================================================================================== function onaftersort() { var gridObj = document.controls.item(event.target); var gridSelMode = gridObj.selectionMode; var smallistNum, tempNum; var i; if( gridSelMode != "free" && gridSelMode != "bycol" ) { // sorting selectedRow ±â´É°³¼±ÈÄ Àû¿ë gridObj.topRow = gridObj.selectedRow(0); // Àӽà /* smallistNum = gridObj.selectedRow(0); for( i = 1; i < gridObj.selectedRows; i++ ) { tempNum = gridObj.selectedRow(i); if( smallistNum > tempNum ) smallistNum = tempNum; } gridObj.topRow = smallistNum + gridObj.fixedRows - 1; */ } else { // sorting selecteCells ±â´É°³¼±ÈÄ Àû¿ë if(gridObj.selectedCells.length > 0) { gridObj.topRow = gridObj.selectedCells.item(0).row; } // Àӽà //smallistNum = gridObj.selectedCells.item(0).row; //for( i = 1; i < gridObj.selectedCells.length; i++ ) { // tempNum = gridObj.selectedCells.item(i).row; // if( smallistNum > tempNum ) // smallistNum = tempNum + gridObj.fixedRows - 1; //} //gridObj.topRow = smallistNum; } // event.stopPropagation(); } //=============================================================================================== // onkeypress //=============================================================================================== function onkeypress(){ var ctrlObj = event.ptarget; // 2007-09-18 : multilinegridÀÏ °æ¿ì ó¸® var pGridObj = ctrlObj.parent; if(pGridObj.elementName == "xforms:multilinegrid" || pGridObj.elementName == "xforms:row") return; if(ctrlObj.elementName == "xforms:input") { input_onkeypress(ctrlObj); } // 2007-02-07 Ãß°¡ : CellÀÌ editmode »óŰ¡ ¾Æ´Ò°æ¿ì ó¸® else if(ctrlObj.elementName == "xforms:col") { // alert(pGridObj.colAttribute(pGridObj.col, "type") == "inputbutton"); if(pGridObj.colAttribute(pGridObj.col, "type") == "input" || pGridObj.colAttribute(pGridObj.col, "type") == "inputbutton") grid_onkeypress(event.ptarget); } else if(ctrlObj.elementName == "xforms:gridinput") { grid_onkeypress(event.ptarget); } //¹®ÀÚ¿­convert(´ë¼Ò¹®ÀÚ) //toConvertChar("keypress"); //onkeypress¿¡ event.stopPropagation()ÀÌ ÀÖÀ¸¸é ÀÔ·ÂÀÌ ¾ÈµÊ... //event.stopPropagation(); } function grid_onkeypress(ctrlObj) { var pObj = ctrlObj.parent; var charType = pObj.colAttribute (pObj.col, "_chartype"); if( charType == "upper") { if(event.keyCode >= 97 && event.keyCode <= 122) { event.keyCode = event.keyCode - 32; } } else if( charType == "lower" ) { if(event.keyCode >= 65 && event.keyCode <= 90) { event.keyCode = event.keyCode + 32; } } var inputMode = pObj.colAttribute (pObj.col, "_inputmode"); if( inputMode == "koreanOnly" ) { // var pattern = new RegExp('[!-¡á]', 'i'); var pattern = new RegExp('[a-zA-Z]', 'i'); if (pattern.exec(String.fromCharCode(event.keyCode)) != null){//ÇѱÛÀÌ ¾Æ´Ï¶ó¸é.. event.preventDefault(); } } } function input_onkeypress(ctrlObj) { if( ctrlObj.attribute("_chartype") == "upper") { if(event.keyCode >= 97 && event.keyCode <= 122) { event.keyCode = event.keyCode - 32; } } else if( ctrlObj.attribute("_chartype") == "lower" ) { if(event.keyCode >= 65 && event.keyCode <= 90) { event.keyCode = event.keyCode + 32; } } if( ctrlObj.attribute("_inputmode") == "koreanOnly" ) { // var pattern = new RegExp('[!-¡á]', 'i'); var pattern = new RegExp('[a-zA-Z]', 'i'); if (pattern.exec(String.fromCharCode(event.keyCode)) != null){//ÇѱÛÀÌ ¾Æ´Ï¶ó¸é.. event.preventDefault(); } } } //=============================================================================================== // oncopy // param1 - "value" | "" = ±×¸®µå»ó¿¡ select °è¿­µ¥ÀÌÅͰ¡ Á¸ÀçÇÒ °æ¿ì ÇØ´ç select µ¥ÀÌÅÍÀÇ value¸¦ ÀúÀå(±âº»°ª) // - "label" = ±×¸®µå»ó¿¡ select °è¿­µ¥ÀÌÅͰ¡ Á¸ÀçÇÒ °æ¿ì ÇØ´ç select µ¥ÀÌÅÍÀÇ labelÀ» ÀúÀå //=============================================================================================== function grid_oncopy(type) { if (type == null || type == "") type = "value"; var trgObj = document.all.item(event.target); if( trgObj.elementName == "xforms:datagrid" ) // event.targetÀÌ datagrid > inputÀÏ °æ¿ì return gridObj = trgObj; else return; var cellValue; var rClipBoardValue = ""; var gridSelMode = gridObj.selectionMode; // alert(gridSelMode); // datagrid@selectionmode°¡ freeÀÏ °æ¿ì if( gridSelMode == "free" ) { if( gridObj.selectedCells.length == 0 ) return; var firstCell = getFirstCell(gridObj.selectedCells); var lastCell = getLastCell(gridObj.selectedCells); var i, j; if (type == "value") { for( i = firstCell.row; i <= lastCell.row; i++ ) { for ( j = firstCell.col; j <= lastCell.col; j++ ) { cellValue = gridObj.valueMatrix(i, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != lastCell.col ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } else if (type == "label") { for( i = firstCell.row; i <= lastCell.row; i++ ) { for ( j = firstCell.col; j <= lastCell.col; j++ ) { cellValue = gridObj.labelMatrix(i, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != lastCell.col ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } var setClipBoardFlag = true; // selectedCells °¹¼ö¿Í rClipBoardValueÀÇ °¹¼ö ºñ±³ var cntRClip = 0; var cntRRow = rClipBoardValue.split("\r\n").length; var cntRCol = rClipBoardValue.split("\r\n")[0].split("\t").length; if( gridObj.selectedCells.length != ( cntRRow - 1 ) * cntRCol ) { setClipBoardFlag = false; } // selectedCellÀÌ firstCellºÎÅÍ lastCell±îÁö ¼ÓÇØÀÖ³ª ºñ±³ for( i = 0; i < gridObj.selectedCells.length; i++ ) { if( firstCell.row > gridObj.selectedCells.item(i).row || lastCell.row < gridObj.selectedCells.item(i).row ) { setClipBoardFlag = false; break; } if( firstCell.col > gridObj.selectedCells.item(i).col || lastCell.col < gridObj.selectedCells.item(i).col ) { setClipBoardFlag = false; break; } } if( !setClipBoardFlag ) { messageBox("´ÙÁß ¼±Åà ¹üÀ§¿¡¼­´Â", "E001"); return; } } // datagrid@selectionmode°¡ bycolÀÏ °æ¿ì else if( gridSelMode == "bycol" ) { if( gridObj.selectedCells.length == 0 ) return; var firstCell = getFirstCell(gridObj.selectedCells); var lastCell = getLastCell(gridObj.selectedCells); var i, j; if (type == "value") { for( i = gridObj.fixedRows; i < gridObj.rows; i++ ) { for ( j = firstCell.col; j <= lastCell.col; j++ ) { cellValue = gridObj.valueMatrix(i, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != lastCell.col ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } else if (type == "label") { for( i = gridObj.fixedRows; i < gridObj.rows; i++ ) { for ( j = firstCell.col; j <= lastCell.col; j++ ) { cellValue = gridObj.labelMatrix(i, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != lastCell.col ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } } // datagrid@selectionmode°¡ defaultÀ̰ųª byrowÀÏ °æ¿ì else { var gridCols = gridObj.Cols; var selRow; var i, j; if (type == "value") { for( i = 0; i < gridObj.selectedRows; i++ ) { selRow = gridObj.selectedRow(i); for ( j = gridObj.fixedCols; j < gridCols; j++ ) { cellValue = gridObj.valueMatrix(selRow, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != gridCols - 1 ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } else if (type == "label") { for( i = 0; i < gridObj.selectedRows; i++ ) { selRow = gridObj.selectedRow(i); for ( j = gridObj.fixedCols; j < gridCols; j++ ) { cellValue = gridObj.labelMatrix(selRow, j); if( cellValue.indexOf("\n") != -1 ) cellValue = '"' + cellValue + '"'; rClipBoardValue += cellValue; if( j != gridCols - 1 ) rClipBoardValue += "\t"; } rClipBoardValue += "\r\n"; } } } if( rClipBoardValue != "" ) window.clipBoardData = rClipBoardValue; } function getFirstCell( cellCollection ) { var cntCell = cellCollection.length; if( cntCell == 0 ) return null; var curCell = null; var tmpCell = cellCollection.item(0); for( var i = 0; i < cntCell; i++ ) { curCell = cellCollection.item(i); if( curCell.row <= tmpCell.row ) { if( curCell.col <= tmpCell.col ) { tmpCell = curCell; } } } return tmpCell; } function getLastCell( cellCollection ) { var cntCell = cellCollection.length; if( cntCell == 0 ) return null; var curCell = null; var tmpCell = cellCollection.item(0); for( var i = 0; i < cntCell; i++ ) { curCell = cellCollection.item(i); if( curCell.row >= tmpCell.row ) { if( curCell.col >= tmpCell.col ) { tmpCell = curCell; } } } return tmpCell; } /************************************************************************************************ ÇÔ¼ö¸í : initPopupMenu () ÀÎÀÚ : °á°ú°ª : ÇÔ¼ö¼³¸í : »ç¿ëÀÚ ÆË¾÷ ¼³Á¤ ÃʱâÈ­ * ÁÖÀÇ) ev:event="DOMFOcusOut"¿¡ Àû¿ë ************************************************************************************************/ function initPopupMenu() { window.setPopupMenu(false); } /************************************************************************************************ ÇÔ¼ö¸í : setPopupMenu () ÀÎÀÚ : String ctrlID - ÇØ´ç ÄÁÆ®·Ñ ¾ÆÀ̵ð Boolean onmenuEvent - body¿¡ onmenuÀ̺¥Æ® È£Ãâ ¿©ºÎ(true|false) String itemNodeset - »ç¿ëÀÚ Á¤ÀÇ ÆË¾÷ ¾ÆÀÌÅÛ ±¸¼º ³ëµå¼Â XPath String label - ¾ÆÀÌÅÛÀÇ Label ±¸¼º ³ëµå À̸§ String value - ¾ÆÀÌÅÛÀÇ Value ±¸¼º ³ëµå À̸§ °á°ú°ª : ÇÔ¼ö¼³¸í : ÄÁÆ®·Ñ¿¡¼­ »ç¿ëÀÚ ÆË¾÷ ¼³Á¤ ÇÔ¼ö * ÁÖÀÇ) ev:event="onmousedown"¿¡ Àû¿ë ************************************************************************************************/ // DataGrid or TreeView or textarea function setPopupMenu(ctrlID, onmenuEvent, itemNodeset, label, value) { if(event.button == 3) { if( itemNodeset == null ) itemNodeset = "/root/hidden/popupmenu/item"; if( label == null ) itemNodeset = "name"; if( value == null ) value = "func"; var ctrlObj = document.controls.item(ctrlID); if( ctrlObj.elementName == "xforms:datagrid" ) { if( ctrlObj.isCell(event.target) && ctrlObj.mouseRow >= ctrlObj.fixedrows ){ window.showPopupMenu(true); window.setPopupMenu(true, itemNodeset, label, value, onmenuEvent); }else{ initPopupMenu(); } }else if( ctrlObj.elementName == "xforms:treeview" ) { if( ctrlObj.isCell(event.target) ){ window.showPopupMenu(true); window.setPopupMenu(true, itemNodeset, label, value, onmenuEvent); }else{ initPopupMenu(); } }else { window.showPopupMenu(true); window.setPopupMenu(true, itemNodeset, label, value, onmenuEvent); } } } //=============================================================================================== // onstartedit //=============================================================================================== function onstartedit(){ var ctrlObj = event.ptarget; if(ctrlObj.elementName == "xforms:datagrid") { grid_onstartedit(ctrlObj); } } function grid_onstartedit(ctrlObj) { // ±×¸®µå col¿¡ _key ¸¦ °Ë»öÇÔ. var colIndex = ctrlObj.col; var _keyValue = ctrlObj.colAttribute(colIndex, "_key"); if(_keyValue == "true") { if( ctrlObj.rowStatus( ctrlObj.row ) != 3 && ctrlObj.rowStatus( ctrlObj.row ) != 1) { event.preventDefault(); return; } } } //=============================================================================================== // xforms-submit-done //=============================================================================================== function xforms_submit_done() { if( document.all(event.currentTarget).elementName == "xforms:model" ) { event.stopPropagation(); return; } gvFormUpdateYN = false; } //=============================================================================================== // xforms-value-changed //=============================================================================================== function xforms_value_changed() { if( event.currentTarget == "document") { event.stopPropagation(); return; } // alert(event.currentTarget + " :: setFormUpdate();"); setFormUpdate(); }