`
nianshi
  • 浏览: 418544 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex 树形控件(Tree )的使用

    博客分类:
  • Flex
阅读更多

一、树形控件的常用属性

      1、dragMoveEnabled:是否在拖放的过程中将节点移动,而不是复制。

      2、folderOpenIcon:展开节点时的节点图标

      3、folderClosedIcon:关闭节点时的节点图标

      4、defaultLeafIcon:叶子节点的图标

      5、openItems:在初始化时展开的节点集。

      6、showRoot:是否显示数据中的根节点。XML格式的数据一般包含根节点,此时该属性应为false;Array类型的数据一般不包含根节点,该属性设置无效。

      7、indentation:节点层次缩进量。

      8、doubleClickEnabled:节点是否支持双击事件。

      9、dragEnabled:是否允许拖动节点。

      10、dropEnabled:在拖动节点的过程中是否允许释放,以移动节点。

      11、alternatingItemColors:节点间隔背景色。

      12、labelField:作为标签显示的数据的属性。

      13、labelFunction:自定义节点标签。

 

二、树形控件的常用事件

      1、itemClick:单击节点触发该事件。

      2、itemDoubleClick:双击节点触发该事件。

 

三、范例

Xml代码
  1. <? xml version = "1.0" encoding = "utf-8" ?>   
  2. < mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "absolute" >   
  3.      < mx:Script >   
  4.          <![CDATA[
  5.              import mx.events.ListEvent;
  6.             
  7.              //展开所有节点
  8.              private function openAllNote():void{
  9.                  tree1.openItems = noteList..note;
  10.              }
  11.             
  12.              //关闭所有节点
  13.              private function closeAllNote():void{
  14.                  tree1.openItems = [];
  15.              }
  16.             
  17.              private function itemClick(event:Event):void{
  18.                  /*
  19.                  var selectedNote:XML = Tree(event.target).selectedItem as XML;
  20.                  var len:int = selectedNote.child("note").length();
  21.                  if(len>0){
  22.                      txt1.text = "树枝节点";
  23.                  }else{
  24.                      txt1.text = "叶子节点";
  25.                  }
  26.                  */
  27.                 
  28.                  //限制树枝节点不能选择
  29.                  var note:Object = event.currentTarget.selectedItem;
  30.                  if(tree1.dataDescriptor.isBranch(note)){
  31.                      tree1.selectedItem = null;
  32.                      if(tree1.dataDescriptor.hasChildren(note)){
  33.                          txt1.text = note.@label + "(" + tree1.dataDescriptor.getChildren(note).length + ")";
  34.                      }
  35.                  }else{
  36.                      txt1.text = note.@label;
  37.                  }
  38.              }
  39.             
  40.              //双击节点时展开或关闭节点
  41.              private function itemDoubleClick(event:ListEvent):void{
  42.                  var note:XML = tree1.selectedItem as XML;
  43.                  tree1.expandItem(note, !tree1.isItemOpen(note));
  44.              }
  45.             
  46.              //自定义节点标签
  47.              private function labelFunc(note:Object):String{
  48.                  var suffix:String = "";
  49.                  if(tree1.dataDescriptor.hasChildren(note)){
  50.                      suffix = "(" + tree1.dataDescriptor.getChildren(note).length + ")";
  51.                  }
  52.                  return note.@label + suffix;
  53.              }
  54.          ]]>   
  55.      </ mx:Script >   
  56.        
  57.      <!-- 通过样式去掉节点的图标 -->   
  58.      < mx:Style >   
  59.          Tree {   
  60.              folderClosedIcon: ClassReference(null);   
  61.              folderOpenIcon: ClassReference(null);   
  62.              defaultLeafIcon: ClassReference(null);   
  63.          }   
  64.      </ mx:Style >   
  65.   
  66.      < mx:XMLList id = "noteList" >   
  67.          < note label = "root" >   
  68.              < note label = "酬金管理" open = "true" >   
  69.                  < note label = "酬金方案启用" >   
  70.                      < note label = "方案启用申请单制作" />   
  71.                      < note label = "方案启用申请单审批" />   
  72.                  </ note >   
  73.                  < note label = "酬金方案查询" >   
  74.                      < note label = "方案方案查询" />   
  75.                  </ note >   
  76.                  < note label = "数据查询" >   
  77.                      < note label = "酬金清单查询" />   
  78.                      < note label = "网点月度违规情况查询" />   
  79.                      < note label = "窜货号码清单" />   
  80.                      < note label = "售价违规号码清单" />   
  81.                      < note label = "月度酬金计算情况查询" />   
  82.                  </ note >   
  83.                  < note label = "酬金报表" >   
  84.                      < note label = "店面月度酬金统计表" />   
  85.                      < note label = "店面月度酬金银行报表" />   
  86.                  </ note >   
  87.              </ note >   
  88.          </ note >   
  89.      </ mx:XMLList >   
  90.        
  91.      <!-- 控制条 -->   
  92.      < mx:ApplicationControlBar dock = "true" >   
  93.          < mx:Button label = "打开所有节点" click = "openAllNote()" />   
  94.          < mx:Button label = "关闭所有节点" click = "closeAllNote()" />   
  95.          < mx:Text width = "384" fontSize = "12" color = "#FCFEFE" fontWeight = "bold" id = "txt1" />   
  96.      </ mx:ApplicationControlBar >   
  97.        
  98.      < mx:Panel x = "10" y = "10" width = "250" height = "95%" layout = "absolute" fontSize = "12" title = "树形控件" >   
  99.          < mx:Tree x = "0" y = "0" width = "100%" height = "100%" id = "tree1"   
  100.              labelFunction = "labelFunc"   
  101.              dataProvider = "{noteList}"   
  102.              showRoot = "false"   
  103.              folderOpenIcon = "@Embed(source='images/tree/open.png')"   
  104.              folderClosedIcon = "@Embed(source='images/tree/close.png')"   
  105.              defaultLeafIcon = "@Embed(source='images/tree/leaf.png')"   
  106.              alternatingItemColors = "[#FFFFFF,#EEEEEE]"   
  107.              dragEnabled = "true"   
  108.              dropEnabled = "true"   
  109.              dragMoveEnabled = "true"   
  110.              doubleClickEnabled = "true"   
  111.              itemDoubleClick = "itemDoubleClick(event)"   
  112.              itemClick = "itemClick(event)"   
  113.              indentation = "15" />   
  114.      </ mx:Panel >   
  115.        
  116. </ mx:Application >   
 

分享到:
评论

相关推荐

    flex拖动树形

    树形控件在Flex中是Tree组件,它允许展示层次结构的数据。要实现拖动功能,可能需要自定义Tree的itemRenderer,以便在渲染每个节点时添加必要的拖放标识和行为。同时,还需要确保树的数据提供者(通常是...

    Flex ComboBox 树形控件

    Flex ComboBox 是一种强大的用户界面组件,它结合了下拉列表(ComboBox)和树形结构(Tree)的功能,为用户提供了一种交互式的数据选择方式。在Flex应用中,这种控件通常用于显示层次化的数据,允许用户从多个层级的...

    为Flex Tree控件构造树形结构数据

    "为Flex Tree控件构造树形结构数据"这个主题聚焦于如何在Adobe Flex中利用Tree控件来呈现层次化的数据。Flex是一种基于ActionScript和MXML的开源框架,常用于构建富互联网应用程序(RIA)。Tree控件在Flex中扮演着...

    Flex 树形结构

    在本例中,"Flex 树形结构"是指使用Flex技术实现的能够显示层次化数据的交互式控件。 `CheckTreeRenderer.as` 和 `CheckTree.as` 是两个关键的源代码文件,它们可能定义了自定义的树形结构渲染器和整个树形组件。`...

    动态绑定XML,实现flex树控件的绑定

    在Flex开发中,动态绑定XML是一种常见的数据驱动技术,它允许开发者通过XML文件来存储和管理数据,并将这些数据实时地展示在用户界面中,如树形控件。本示例着重讲解如何利用动态绑定XML来实现Flex树控件的绑定,...

    flex 拖拽树 控件

    - `flextree` 文件可能是一个包含预编译的Flex树控件组件库,或者是一个示例项目的源代码,可以供学习和参考。 总之,Flex拖拽树控件提供了丰富的交互体验,允许用户直观地管理和组织树形数据。通过理解并应用上述...

    Flex4的Tree控件加CheckBox

    在这个场景中,我们关注的是如何在Flex4的Tree控件中添加CheckBox,以便用户可以多选树形结构中的节点。 Tree控件在Flex中用于展示层次结构的数据,它允许用户展开和折叠节点,查看和导航数据结构。在很多情况下,...

    flex checkboxtree复选树形下拉框

    此外,为了实现下拉框的效果,他们可能使用了`mx.controls.DropDownList`或者`spark.components.ComboBox`,并在其`dataProvider`属性中设置了`Tree`控件,以展示树形结构的选项。 `GroupXML.xml`文件作为数据源,...

    用ArrayCollection当做flex中Tree控件的DataProvider

    配置完成后,`Tree`控件会自动根据`ArrayCollection`中的数据结构生成相应的树形结构。`ArrayCollection`的动态性也使得我们可以方便地添加、删除或修改数据,从而实时更新`Tree`的显示。 总结来说,使用`...

    flex带复选框的tree,flex checkboxtree

    在Flex中,Tree组件是用于显示层次结构数据的控件,而"flex带复选框的tree"(Flex CheckboxTree)则是对Tree组件的一种扩展,增加了复选框功能,用户可以对树形结构的节点进行选择或全选操作,常用于权限管理、配置...

    flex json转无限树形加单选框并获得选中子项 自动展开

    总结,"flex json转无限树形加单选框并获得选中子项 自动展开"是一个典型的前端开发任务,涉及JSON解析、无限层级树形结构的构建、UI组件(单选框)的使用以及交互逻辑(自动展开和获取选中项)。理解并熟练掌握这些...

    几webjs树形菜单

    4. **AdobyTreeWeb**:`adubytreeWeb.zip`可能是指Adobe的树形控件的Web版本,虽然没有详细信息,但这类控件通常与Adobe Flex或AIR相关的Web应用开发有关,用于构建富客户端界面。 5. **wdTree**:`wdTree.zip`可能...

    flex中tree和checkbox结合使用的插件

    综上所述,"flex中tree和checkbox结合使用的插件"提供了在Flex环境中集成多选功能的解决方案,使得开发者能够快速构建具有复选功能的树形界面,提高应用的交互性和易用性。通过学习和使用这个插件,开发者可以提升其...

    flex combobx中使用tree

    而将Tree与ComboBox结合,可以创建出一个下拉菜单是树形结构的ComboBox,这种组合可以提供更丰富的用户体验,让用户能够逐级导航和选择复杂的层级数据。 要实现这样的功能,我们需要自定义一个ComboBox的下拉列表...

    Flex tree的用法

    XML的层级结构非常适合表示树形结构,每个XML元素对应Tree的一个节点。 - **XMLList和XMLListCollection**: 将XML转换为XMLList或XMLListCollection,然后设置给Tree的`dataProvider`属性,这样就可以显示XML数据。...

    flex tree icon

    在本文中,我们将深入探讨Flex树形组件的图标应用以及与其相关的源码和工具。 首先,Flex Tree组件是Flex提供的一个强大控件,用于展示层级关系的数据。它可以用来表示文件系统、组织结构或其他任何具有层次结构的...

    Flex右键菜单 flex tree 右键菜单 源码

    在Flex中,右键菜单是用户交互的重要组成部分,特别是在数据可视化和树形结构的数据展示中,如Flex Tree组件。本文将深入探讨如何在Flex中实现右键菜单,并结合提供的源码进行分析。 1. Flex右键菜单: Flex中的...

    Flex使用<mx:Tree>控件创建树(可添加和删除节点)

    本文将详细讲解如何在Flex中使用`&lt;mx:Tree&gt;`控件来创建可动态添加和删除节点的树形结构,以及相关的源码和工具应用。 `&lt;mx:Tree&gt;`控件是Flex MX组件库中的一个关键组件,它允许开发者展示层次化的数据,用户可以...

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

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

    第十五节Tree树形菜单组件运用.docx

    在互联网应用开发中,Tree 组件是一种常见的树形菜单控件,常用于展示层次结构清晰的数据。它允许用户通过展开和折叠节点来浏览多级信息,如同 HTML 网页中的树形菜单。在本节中,我们将探讨如何在 Flex 中运用 Tree...

Global site tag (gtag.js) - Google Analytics