????? 用flex? 做项目的时候需要用到Tree打开所有节点的功能,API上只提供打开单个节点的,GOOGLE未果后,自己动手尝试写了个方法。
?
场景:进入页面的时候打开所有节点。数据格式为XML,其它类型没有验证。
?
代码如下:其中deviceTree为树组件的ID
?
private function expandTree():void
{
	for each (var item:XML in deviceTree.dataProvider)
	{
		deviceTree.expandItem(item, true);
		expandTreeChildren(item);
	}
}
private function expandTreeChildren(item:XML):void
{
	if (item.children().length() > 0)
		for each (var child:XML in item.children())
		{
			deviceTree.expandItem(child, true);
			expandTreeChildren(child);
		}
}
?
flex 代码
<mx:Tree x="27"
	y="10"
	width="225"
	labelField="@path"
 	dataProvider="{deviceData}"
	id="deviceTree"
	creationComplete="expandTree()"
	itemRenderer="util.tree.MyTreeItemRenderer"
	 height="445">
</mx:Tree>
?