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');

posted @ 2013-04-16 23:30  zhxm  Views(1413)  Comments(0Edit  收藏  举报