Hows this for an alternative if you want the count, but dont want the tree to be opened. I've only tested this with small trees, I'd fear for its performance in larger trees:

function countClosed():Number{
var num:Number = openTree(nav);
closeTree(nav,num);
return num;
}
function openTree(t:mx.controls.Tree):Number {
var i:Number=0;
var node:mx.controls.treeclasses.TreeNode=t.getTreeNodeAt(i);
while (node != undefined){
if (t.getIsBranch(node) && ! t.getIsOpen(node)){
t.setIsOpen(node,true);
}
i++;
node=t.getNodeDisplayedAt(i);
}
return i;
}
function closeTree(t:mx.controls.Tree,numNodes:Number){
for(var i=0;i<numNodes;i++){
var node:mx.controls.treeclasses.TreeNode=t.getTreeNodeAt(i);
if (t.getIsBranch(node) && t.getIsOpen(node)){
t.setIsOpen(node,false);
}
}       
t.selectedIndex = null;
}







Reply via email to