123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /**
- * @desc : 노드셋 카피
- * @id :
- * @event :
- * @return :
- * @authur : 이상현
- */
- function copyNodeset(strDest, strSrc, mode, destModel, srcModel)
- {
- if(mode == null)
- mode = "replace";
- if(destModel == null)
- destModel = model;
- if(srcModel == null)
- srcModel = model;
- if(mode == "replace")
- destModel.removeNodeset(strDest);// 대상 노드를 삭제한다.
- //var destListLen = 0;
- var destNodeList = destModel.instances(0).selectNodes(strDest);
- //if(destNodeList != null)
- var destListLen = destNodeList.length;
- var srcNodeList = srcModel.instances(0).selectNodes(strSrc);
- var prepath_strDest = strDest + "[";
- var idx;
- for(var i = 0; i < srcNodeList.length; i++)
- {
- idx = i + 1 + destListLen;
- var strDest1 = prepath_strDest + idx + "]";
- destModel.makeNode(strDest1);
- var destNode = destModel.instances(0).selectSingleNode(strDest1);
- var srcNode = srcNodeList.item(i);
- var srcChildList = srcNode.childNodes;
- for(var j = 0; j < srcChildList.length; j++)
- destNode.appendChild(srcChildList.item(j).cloneNode(true));
- }
- }
- function copyNode(destModel, srcModel, strDest, strSrc)
- {
- if(findNode(srcModel, strSrc) == null)
- {
- alert("카피할 원본노드(" + strSrc + ")가 존재하지 않습니다..");
- return;
- }
- var destNode = findNode(destModel, strDest);
- if(destNode == null)
- destModel.makeNode(strDest);
- else
- {
- var childList = destNode.childNodes;
- for(var idx = 0; idx < childList.length; idx++)
- {
- var childNode = childList.item(idx);
- destModel.removenode(childNode);
- }
- }
- var destXml = destModel.instances(0);
- var destNode = destXml.selectSingleNode(strDest);
- var nodeList2 = destNode.childNodes;
- var temp_count = 0;
- var total_count = nodeList2.length;
- for (; temp_count<total_count; temp_count++)
- {
- destNode.removeChild( nodeList2.item(0) );
- }
- var srcXml = srcModel.instances(0);
- var srcNode = srcXml.selectSingleNode(strSrc);
- nodeList2 = srcNode.childNodes;
- var clone_node = null;
- temp_count = 0;
- total_count = nodeList2.length;
- for (; temp_count<total_count; temp_count++)
- {
- var node = nodeList2.item(temp_count);
- clone_node = node.cloneNode(true);
- destNode.appendChild( clone_node );
- }
- }
- function findNode(srchModel, strPath)
- {
- var insXml = srchModel.instances(0);
-
- var destNode = insXml.selectSingleNode(strPath);
- return destNode;
- }
- function getNodesetCnt(srchModel, path)
- {
- var insXml = srchModel.instances(0);
- var nodeList = insXml.selectNodes(path);
- return nodeList.length;
- }
- function setGridTree( gridObj, levelcol, targetcol, collapsed) {
-
- //tree 및 레벨설정
- for(var i = gridObj.fixedRows; i < gridObj.rows; i++)
- {
- //gridObj.issubtotal(i) = true;
- gridObj.outlinelevel(i)=gridObj.valuematrix(i, levelcol); //인스턴스 levl 값임
- }
-
- // tree 대상 컬럼 및 형태 설정
- gridObj.outlinecol=targetcol; //연결선이 표현되는 컬럼
- gridObj.outlinebar=2; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
- gridObj.treecolor="#948777"
-
- // 자식 트리 접기
- if (collapsed)
- {
- for(var i = gridObj.fixedrows; i <gridObj.rows; i++)
- {
- gridObj.isCollapsed(i) = collapsed; //자식 트리 접기
- }
- }
-
- }
|