当前位置: 代码迷 >> Web前端 >> mx:Tree 打开全部节点
  详细解决方案

mx:Tree 打开全部节点

热度:140   发布时间:2012-11-16 14:12:14.0
mx:Tree 打开所有节点

????? 用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>
?
  相关解决方案