`
demojava
  • 浏览: 549071 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex tree icon

 
阅读更多

1.tree 改变每一项的 icon图标

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   xmlns:myflexhero="http://www.myflexhero.com/share/flex3-mx/flex-mx-core-components/flex-mx-ui-controls/flex-mx-tree-and-datagrid-controls/909"
			   minWidth="955" minHeight="600" viewSourceURL="srcview/index.html">
 
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Script>
		<![CDATA[
			[Bindable]
			[Embed(source="assets/myflexhero.png")] 
			public var myflexhero:Class; 
			[Bindable]
			[Embed(source="assets/yellow.png")] 
			public var yellow:Class; 
 
		]]>
	</fx:Script>
 
	<mx:Tree iconField="@icon" labelField="@label" showRoot="false" 
			 width="160">
		<fx:XMLList>
			<node label="My">
				<node label="Flex Document" icon="myflexhero"/>
				<node label="Hero Document" icon="yellow"/>
			</node>
			<node label="com" icon="myflexhero"/>
		</fx:XMLList>
	</mx:Tree>
 
 
</s:Application>

 

2.改变所有图片样式

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   xmlns:myflexhero="http://www.myflexhero.com/share/flex3-mx/flex-mx-core-components/flex-mx-ui-controls/flex-mx-tree-and-datagrid-controls/909"
			   minWidth="955" minHeight="600" viewSourceURL="srcview/index.html">
	
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Script>
		<![CDATA[
			
		]]>
	</fx:Script>
	
	<mx:Tree folderOpenIcon="@Embed(source='1.png')" showRoot="false" labelField="@label" width="600" folderClosedIcon="@Embed(source='2.png')" defaultLeafIcon="@Embed(source='3.png')">
		<fx:XMLList>
			<node label="My" icon="yellow1">
				<node label="Flex Document" icon="myflexhero"/>
				<node label="Hero Document" icon="yellow"/>
			</node>
			<node label="com" icon="myflexhero"/>
		</fx:XMLList>
	</mx:Tree>
	
	
</s:Application>

 

 

1、默认的Tree的属性是文件夹和文件都是通过 folderOpenIcon, folderClosedIcon, and defaultLeafIcon 来执行的,如果在程序中需要取得默认的参数可以通过这几个参数进行处理

    var myMenu:SysMenu = SysMenu(item);
    if(myMenu.children.length==0){
     return leftMenuTree.getStyle("defaultLeafIcon");
    }
    if ( leftMenuTree.isItemOpen(item) ) {
            return leftMenuTree.getStyle("folderOpenIcon");
         } else {
            return leftMenuTree.getStyle("folderClosedIcon");
         }

 

当然也可以直接通过flex的标签来制定

<mx:Tree folderOpenIcon="@Embed(source='open.jpg')"folderClosedIcon="@Embed(source='closed.jpg')"defaultLeafIcon="@Embed(source='def.jpg')">

  

2、通过data provider来提供数据源的时候就指定icon

<mx:XMLList>
         <node label="New">
            <node label="HTML Document" icon="iconSymbol2"/>
            <node label="Text Document" icon="iconSymbol2"/>
         </node>
         <node label="Close" icon="iconSymbol1"/>
      </mx:XMLList>

 3、通过函数setItemItcon

        

[Bindable]
         [Embed(source="assets/radioIcon.jpg")] 
         public var iconSymbol1:Class; 
         [Bindable]
         [Embed(source="assets/topIcon.jpg")] 
         public var iconSymbol2:Class; 
         
         private function setIcons():void {
            myTree.setItemIcon(myTree.dataProvider.getItemAt(0), 
               iconSymbol1, iconSymbol2);
            myTree.setItemIcon(myTree.dataProvider.getItemAt(1), 
               iconSymbol2, null);
         }

 4、Tree支持显示icon的属性iconFunction ,自定义处理函数就可以了,示例如下

<!-- -->

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   xmlns:myflexhero="http://www.myflexhero.com/share/flex3-mx/flex-mx-core-components/flex-mx-ui-controls/flex-mx-tree-and-datagrid-controls/909"
			   minWidth="955" minHeight="600" viewSourceURL="srcview/index.html">
	
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Script>
		<![CDATA[
			import mx.collections.XMLListCollection;
			
			[Embed(source="1.png")]          //这是图片的相对地址
			[Bindable]
			public var OKicon:Class;
			
			[Embed(source="2.png")]          //这是图片的相对地址
			[Bindable]
			public var NOicon:Class;
			
			//设置不同图表            
			private function iconFun(item:Object):*
			{
				var xml:XML     = item as XML;
				
				if(xml.attribute("bool") == true)
					return OKicon;
				else if(xml.attribute("bool") == false)
					return NOicon;
			}
		]]>
	</fx:Script>
	<fx:Declarations>
		<mx:XMLListCollection id="datatree" >
			<fx:XMLList>
				<node label="NO1" bool="false">
					<node label="NO11" bool="false">
						<node label="NO111" bool="false"/>
					</node>
					<node label="NO22" bool="true"/>
				</node>
				<node label="NO2" bool="true">
					<node label="NO11" bool="false">
						<node label="NO111" bool="false"/>
					</node>
					<node label="NO22" bool="true">
						<node label="NO222" bool="false"/>
					</node>
				</node>
			</fx:XMLList>  
		</mx:XMLListCollection>
	</fx:Declarations>
	
	
	<mx:Tree id="tree" y="40" width="100%" height="100%" fontFamily="Arial" fontSize="12" 
			 dataProvider="{datatree}" labelField="@label" iconFunction="iconFun" />
	
</s:Application>

 附件为代码:2种方式1.folderOpenIcon 形式,2.inconFunction方式

 

  • 大小: 2.1 KB
分享到:
评论

相关推荐

    flex tree 修改icon方法

    标题"flex tree 修改icon方法"正好指出了这一需求。在这个场景下,我们需要通过编程方式来实现对Tree节点图标的个性化设置。 首先,我们要理解Flex Tree的基本结构。Tree组件由一系列的TreeItemRenderer组成,每个...

    flex tree 中渲染checkBox

    在Flex中,你可以通过CSS或直接在组件上设置`icon`属性来改变CheckBox的图标。对于自定义样式,可以创建一个CSS文件,定义`.checkbox`类,然后在`CheckTreeRenderer`中引用这个类,以应用相应的图像。 在实现这个...

    可编辑el-tree样式功能修改:修改icon、可编辑input、修改下拉展开icon位置

    本文将深入探讨如何对 el-tree 进行样式功能修改,包括更换图标(icon)、实现输入框可编辑以及调整下拉展开图标的定位。我们将基于 Vue.js 框架进行讲解。 首先,让我们了解 el-tree 的基本使用。el-tree 是 ...

    flex 异步加载tree

    根据给定的信息,我们可以深入探讨Flex中的异步加载Tree组件的相关知识点。 ### 一、Flex与AsyncTree组件 #### 1. Flex简介 Flex是一种开源的框架,用于构建跨平台的桌面应用程序和移动应用程序。它提供了强大的...

    构造flex3.5的带复选框的树(CheckBoxTree)

    在Flex 3.5开发中,我们经常遇到需要创建具有交互性和可视复杂性的用户界面,其中一个常见的需求就是构建一个带有复选框的树形结构,也就是所谓的“复选框树”(CheckBoxTree)。这样的控件允许用户通过复选框来选择或...

    flex 树状图

    在Flex中,可以使用Tree控件来创建树状图,它能够以层级结构展示数据,适用于展示目录、组织架构或者复杂的数据关系。在这个“flex树状图”中,我们看到的是一个设计简洁、结构清晰的图形化表示。 首先,我们要了解...

    flex树自定义节点图标

    Flex Tree(灵活的树)是一种能够动态展示层级关系的组件,广泛应用于各种业务场景,例如文件系统、组织结构、菜单导航等。本主题将深入探讨如何在Flex Tree中实现自定义节点图标,以及与之相关的源码分析。 1. **...

    30多个 flex3 源码(整理)

    5. **引用Swf的Btn按钮**:在Flex中,我们可以通过`mx.controls.Button`的`icon`属性加载SWF图标,使按钮更具视觉吸引力。这通常涉及使用`mx.graphics.MovieClipLoader`来加载外部的SWF文件。 6. **Tree下拉列表里...

    自己写的 flex 的异步树和分页grid组件。

    解析数据用了flex的JSON包。 这段代码放在要显示树的canvas下 rootLable="根节点" //树的根节点名 destination="flexService" //remoteObject 的destination remoteServer="true" id="asyntree1" ...

    Flex 基于数据源的Menu Tree实现代码

    Flex中的Menu Tree是一种常见的UI组件,它用于呈现层次结构的数据,通常用于构建应用程序的菜单或者导航结构。在本文中,我们将探讨如何使用Flex创建一个基于数据源的Menu Tree,特别是如何利用外部参数来指定数据源...

    VB编程资源大全(英文源码 控件)

    &lt;END&gt;&lt;br&gt;46,FldrView.zip The Folderview ActiveX Control mimics the behaviour of the Windows Explorer Treeview showing the tree structure of the files and folders and other items in the shell's ...

Global site tag (gtag.js) - Google Analytics