I have made a custom TreeItemRenderer and overridden the set data function to change the icon according to the data.
This is done something like this: override public function set data(value:Object):void { super.data = value; if(value != null) { var myListData:TreeListData = TreeListData(this.listData ); if (myListData) { var fileObject:Object = value; var _tree:Tree = Tree(myListData.owner); if(fileObject.isMovie) { _tree.setStyle('defaultLeafIcon', this.movieIcon ); _tree.setStyle('folderClosedIcon', this.movieIcon ); _tree.setStyle('folderOpenIcon', this.movieIcon ) } } } Hower, in some cases I get this exception: TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.controls.listClasses::ListBase/styleChanged ()[E:\dev\flex_201_borneo\sdk\frameworks\mx\controls\listClasses\ListBase.as:3062] at mx.controls::Tree/styleChanged ()[E:\dev\flex_201_borneo\sdk\frameworks\mx\controls\Tree.as:1048] at mx.core::UIComponent/setStyle ()[E:\dev\flex_201_borneo\sdk\frameworks\mx\core\UIComponent.as:7222] ... It's the styleChanged() method in ListBase.as which throws the error - on this line: var m:int = listItems[i].length; .. so, it seems listItems[i] is null ? Why? :-) -- ======================== http://www.juicability.com - flex blog http://www.43min.com - funny movies