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;
}
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:

