flex tree 节点的插入顺序以及图标的修改
今天遇到一个问题是,如何将server发过来的乱序的节点在显示的时候,将顺序显示正确。为此,通过查找相关api,发现可以利用
treeArrayC.addItemAt(treeObj,0);的方式每次调整,将当前的treeObj放到第一个位置上去。
至于图标的调整,这是参照了别人的解决方案,然后在flash builder 4.6 修改之后,得到如下方法:
利用folderClosedIcon和folderOpenIcon、defaultLeafIcon样式加上如下代码,可以去掉树控件默认的文件夹图标了。
<fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; @namespace mx "library://ns.adobe.com/flex/mx"; mx|Tree { folderClosedIcon: ClassReference(null); folderOpenIcon: ClassReference(null); textAlign:left; fontWeight:normal; fontStyle:italic; defaultLeafIcon:ClassReference(null); } </fx:Style>
叶子节点图标去掉代码如下:
<mx:ApplicationControlBar dock="true"> <mx:PopUpButton label="==请选择=="> <mx:popUp> <mx:Tree id="treeId" width="200" dataProvider="{tree_popup}" labelField="@label" iconField="@icon" rowCount="10" showRoot="false" defaultLeafIcon="@Embed(source=""images/file.png"")"/> </mx:popUp> </mx:PopUpButton> </mx:ApplicationControlBar>
defaultLeafIcon指定叶图标
disclosureClosedIcon指定的图标旁边显示一个封闭的分支节点。默认的图标是一个黑色三角形。
disclosureOpenIcon指定的图标旁边显示一个开放的分支节点。默认的图标是一个黑色三角形。
folderClosedIcon关闭指定的文件夹图标的一个分支节点。
folderOpenIcon指定打开的文件夹图标的一个分支节点。
三角图标修改如下代码使用即可换成自己的了:
disclosureOpenIcon:Embed(source='images/a.png');
disclosureClosedIcon:Embed(source='images/b.png');