ex) 특정 그리드에서 선택된 항목만 뽑아 /root/temp/nodelist에 따로 복사하는 방법.
var nodePath = "/root/temp/nodelist";
model.removeNodeset(nodePath);
model.makeNode(nodePath); //노드 생성.
//이부분이 가장유용.(XML구문) : 어느 노드에 있는 것들중에 어떤항목의 값이 'Y'인 노드들을 가져오기.
//노드set위치에 []안의 조건식을 주어 값을 뽑는다.
//and, or, !=, = 등의 식을 사용할 수 있다.
//ex) "/root/main/complist[chkyn='Y' and lrgcd='01']" => chkyn이 Y이고 lrgcd가 01인것들.
// instance1.selectNodes는 위에 조건에 해당하는 모든 노드들을 가져옴..
//이와같은 사용식은 combo박스 itemset같은곳에서도 활용이 가능하다.
/*
<select1 id="cmb_midcd" ref="/root/main/cond/midcd" appearance="minimal" style="left:100px; top:52px; width:100px; height:19px; ">
<choices>
<itemset nodeset="/root/init/midcodeinfo/codelist[supcd='01' and lrgcd='E' or midcd='']"> //supcd가 01이고 lrgcd가 'E'이고 midcd가 없는 것들을 콤보로 보여줌.
<label ref="midnm"/>
<value ref="midcd"/>
</itemset>
</choices>
</select1>
*/
var nodelist = instance1.selectNodes(grd_complist.nodeset + "[chkyn='Y']"); //그리드에서 chkyn항목이 "Y"인것들의 노드만 가져옴.
var cnt = 0;
var desnode = instance1.selectSingleNode(nodePath); //복사할 노드선택.
var node;
if(nodelist.length > 0) { //chkyn이 'Y'인 노드가 존재하면
while(node = nodelist.nextNode()) { //노드들을 처음부터 다음노드가 있을때까지 반복.
model.duplicate(desnode, node); //반복하며 선택된 노드를 복사시킨다.("/root/temp/nodelist");
}
}
활용) 전체 리스트중에 특정 선택된 항목들만 출력. 혹은