Flex Tree自定义Icon 有几种方法,相信网上说的也比较多了,但是还是总结下来,查询起来比较方便。
1.设置Tree的一些默认属性。文件夹和文件都是通过 folderOpenIcon, folderClosedIcon, and defaultLeafIcon ,disclosureClosedIcon,disclosureOpenIcon 来执行的。
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
folderOpenIcon="@Embed(source='open.jpg')"folderClosedIcon="@Embed(source='closed.jpg')"defaultLeafIcon="@Embed(source='def.jpg')"
showRoot="false" dataProvider="{treeData}"/>
2.在数据源中设置icon。
[Embed(source='view/icon_xls.png')]
[Bindable]public var icon1:Class;
<fx:Declarations>
<fx:XMLList id="treeData">
<node label="Mail Box" >
<node label="Inbox" >
<node label="Marketing" icon="icon1"/>
<node label="Product Management" icon="icon1"/>
<node label="Personal" icon="icon1"/>
</node>
<node label="Outbox" >
<node label="Professional" icon="icon1"/>
<node label="Personal" icon="icon1"/>
</node>
<node label="Spam" />
<node label="Sent" />
</node>
</fx:XMLList>
</fx:Declarations>
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
iconField="@icon"
showRoot="false" dataProvider="{treeData}"/>
3.通过设置函数 setItemItcon
protected function button_clickHandler(event:MouseEvent):void
{
for each(var item:XML in treeData)
{
iteratorItemList(item);
}
}
private function iteratorItemList(xmllist:XML):void
{
for each(var item:XML in xmllist.children())
{
if(item.children() && item.children().length() > 0)
{
iteratorItemList(item);
}
else
{
myTree.setItemIcon(item,icon1,icon2);
}
}
}
4.用iconFunction
private function tree_iconFunc(item:Object):Class {
var iconClass:Class;
switch ((item as XML).@label.toString()) {
case "Marketing":
iconClass = icon1;
break;
case "Personal":
iconClass = icon2;
break;
case "Professional":
iconClass = icon3;
break;
}
return iconClass;
}
分享到:
相关推荐
综上所述,修改Flex Tree的icon涉及到创建自定义渲染器、数据绑定、根据数据源动态设置图标等步骤。理解这些概念和技巧对于构建具有个性化视觉效果的Flex应用程序至关重要。在实践中,需要注意代码的可维护性和性能...
在IT行业中,"flex tree icon"通常指的是使用Flex技术构建的一种树形结构控件,它在用户界面上显示带有图标的层次数据。Flex是一种用于创建富互联网应用程序(RIA)的框架,基于ActionScript编程语言和Flash Player...
本主题将深入探讨如何在Flex Tree中实现自定义节点图标,以及与之相关的源码分析。 1. **自定义节点图标的意义** - 节点图标可以增强用户对树结构的理解,通过图标直观地传达节点类型或状态信息。 - 图标可以是...
在Flex中,你可以通过CSS或直接在组件上设置`icon`属性来改变CheckBox的图标。对于自定义样式,可以创建一个CSS文件,定义`.checkbox`类,然后在`CheckTreeRenderer`中引用这个类,以应用相应的图像。 在实现这个...
本文将深入探讨如何对 el-tree 进行样式功能修改,包括更换图标(icon)、实现输入框可编辑以及调整下拉展开图标的定位。我们将基于 Vue.js 框架进行讲解。 首先,让我们了解 el-tree 的基本使用。el-tree 是 ...
AsyncTree是Flex中的一个自定义组件,它允许开发者构建能够异步加载数据的树形结构。这通常用于展示大量数据或者需要动态加载子节点的情况。通过这种方式,可以显著提高应用的性能和用户体验。 ### 二、代码解析 #...
在Flex 3中实现这个功能,我们可以利用Flex的Tree组件和CheckBox组件,结合XML数据源来构建这个自定义的控件。以下是一个详细步骤的概述: 1. **创建Tree组件**:首先,我们需要创建一个Tree组件,这是展示树状结构...
在Flex中,可以使用Tree控件来创建树状图,它能够以层级结构展示数据,适用于展示目录、组织架构或者复杂的数据关系。在这个“flex树状图”中,我们看到的是一个设计简洁、结构清晰的图形化表示。 首先,我们要了解...
5. **引用Swf的Btn按钮**:在Flex中,我们可以通过`mx.controls.Button`的`icon`属性加载SWF图标,使按钮更具视觉吸引力。这通常涉及使用`mx.graphics.MovieClipLoader`来加载外部的SWF文件。 6. **Tree下拉列表里...
//icon 自定义节点图标 ----------------------------- 1初始化代码 //flexService是remoteObject名 findByCode是java对应的方法 clickId要带入的参数 gdp.initApp("flexService","findByCode",clickId); 2再要...
在本文中,我们将探讨如何使用Flex创建一个基于数据源的Menu Tree,特别是如何利用外部参数来指定数据源,并自定义节点的图标。 首先,让我们分析标题和描述中的关键知识点: 1. **数据源**:在Flex中,数据源通常...