首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

在Flex中让Tree绑定数据后自动铺展树节点

2012-11-23 
在Flex中让Tree绑定数据后自动展开树节点??我发现网上流传下面两种代码:??第一种:treePlayList.dataProvid

在Flex中让Tree绑定数据后自动展开树节点

??我发现网上流传下面两种代码:?

?

在Flex中让Tree绑定数据后自动铺展树节点第一种:

treePlayList.dataProvider=results;//刷新在Flex中让Tree绑定数据后自动铺展树节点

treePlayList.validateNow();//全部展开

treePlayList.selectedIndex=0;

treePlayList.expandChildrenOf(treePlayList.selectedItem,true);

但有些人试过不行, 我也不知道为什么。

第二种:

某些稍微聪明一点的人受到 启发想用个延时后再执行就行了:

setTimeout(IniExpand, 1000); //延时1秒

private function IniExpand():void {
????????????? TreeView1.selectedIndex=1;
????????????? TreeView1.expandItem(TreeView1.selectedItem,true);
??????????? }

不过,我亲自试了,根本无 效嘛~在Flex中让Tree绑定数据后自动铺展树节点


其实,我自己想到了一个我 认为是权威准确的方法,那就是用callLater方法,再加上匿名代理方法!!!在Flex中让Tree绑定数据后自动铺展树节点

代码如 下:

myTree.callLater(

    function ():void{myTree.expandChildrenOf(selectedItem.root[0],true);}

  ); //selectedItem.root当然起始节点了(这是在 flash builder 4中测试成功)

这个方法是在某天开窍突然 想到Flex/Flash会像C#语言那样,能在方法的参数体里定义一个匿名方法呢?, 类似C#里的匿名代理方法delegate, 结果一试果然成功了,呵呵.

热点排行