冯东的博客

每天学一点,不断进取
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

FlexBuilder2组件学习之Tree组件

Posted on 2006-10-22 11:55  冯东  阅读(620)  评论(0编辑  收藏  举报
前两天写了个如何用FlexBuilder编写个超级简单的RSS阅读器,简单的几行代码就实现了,今天闲来无事就看看FlexBuilder的Tree组件。Tree组件需要提供XML格式的数据源,可以在组件外面编写xml类型的变量在做为数据源也可以在组件内部编写。如何在mxml文件里定义XML类型的变量呢?很简单,形式如下
private var xml:XML = 
<first label = "一级目录">
     
<second label = "二级目录1"/>
     
<second label = "二级目录2">
            
<third label = "三级目录1"/>
            
<third label = "三级目录2"/>
     
</second>
</first>

当然了,这几行代码要加到<mx:Script></mx:Script>标签中了
添加一个tree组件并将dataProvider设置成刚才定义的xml变量
<mx:Tree id = "myTree" dataProvider = "{xml}"/>
编译运行,会发现格式是错误的,Tree组件显示的内容是xml变量的全部内容,没有过滤掉其他字符。
其实这是因为 labelField属性未给设置的结果,把它的labelField属性设置成"@label"
<mx:Tree id = "myTree" dataProvider = "{xml}" labelField = "@label">
这样就可以正常显示了,但是某个结点的文字太长的话就会显示不全,Tree组件无法自己改变宽度,这个需要我们自己进行设置!