`
raymond.chen
  • 浏览: 1437155 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

树形控件(Tree Control)的使用

阅读更多

一、树形控件的常用属性

      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 version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.events.ListEvent;
			
			//展开所有节点
			private function openAllNote():void{
				tree1.openItems = noteList..note;
			}
			
			//关闭所有节点
			private function closeAllNote():void{
				tree1.openItems = [];
			}
			
			private function itemClick(event:Event):void{
				/*
				var selectedNote:XML = Tree(event.target).selectedItem as XML;
				var len:int = selectedNote.child("note").length();
				if(len>0){
					txt1.text = "树枝节点";
				}else{
					txt1.text = "叶子节点";
				}
				*/
				
				//限制树枝节点不能选择
				var note:Object = event.currentTarget.selectedItem;
				if(tree1.dataDescriptor.isBranch(note)){
					tree1.selectedItem = null;
					if(tree1.dataDescriptor.hasChildren(note)){
						txt1.text = note.@label + "(" + tree1.dataDescriptor.getChildren(note).length + ")";
					}
				}else{
					txt1.text = note.@label;
				}
			}
			
			//双击节点时展开或关闭节点
			private function itemDoubleClick(event:ListEvent):void{
				var note:XML = tree1.selectedItem as XML;
				tree1.expandItem(note, !tree1.isItemOpen(note));
			}
			
			//自定义节点标签
			private function labelFunc(note:Object):String{
				var suffix:String = "";
				if(tree1.dataDescriptor.hasChildren(note)){
					suffix = "(" + tree1.dataDescriptor.getChildren(note).length + ")";
				}
				return note.@label + suffix;
			}
		]]>
	</mx:Script>
	
	<!-- 通过样式去掉节点的图标 -->
	<mx:Style> 
        Tree { 
        	folderClosedIcon: ClassReference(null); 
            folderOpenIcon: ClassReference(null); 
            defaultLeafIcon: ClassReference(null); 
        } 
    </mx:Style>

	<mx:XMLList id="noteList">
		<note label="root">
			<note label="酬金管理" open="true">
				<note label="酬金方案启用">
					<note label="方案启用申请单制作"/>
					<note label="方案启用申请单审批"/>
				</note>
				<note label="酬金方案查询">
					<note label="方案方案查询"/>
				</note>
				<note label="数据查询">
					<note label="酬金清单查询"/>
					<note label="网点月度违规情况查询"/>
					<note label="窜货号码清单"/>
					<note label="售价违规号码清单"/>
					<note label="月度酬金计算情况查询"/>
				</note>
				<note label="酬金报表">
					<note label="店面月度酬金统计表"/>
					<note label="店面月度酬金银行报表"/>
				</note>
			</note>
		</note>
	</mx:XMLList>
	
	<!-- 控制条 -->
	<mx:ApplicationControlBar dock="true">
		<mx:Button label="打开所有节点" click="openAllNote()"/>
		<mx:Button label="关闭所有节点" click="closeAllNote()"/>
		<mx:Text width="384" fontSize="12" color="#FCFEFE" fontWeight="bold" id="txt1"/>
	</mx:ApplicationControlBar>
	
	<mx:Panel x="10" y="10" width="250" height="95%" layout="absolute" fontSize="12" title="树形控件">
		<mx:Tree x="0" y="0" width="100%" height="100%" id="tree1"
			labelFunction="labelFunc"
			dataProvider="{noteList}"
			showRoot="false"
			folderOpenIcon="@Embed(source='images/tree/open.png')"
			folderClosedIcon="@Embed(source='images/tree/close.png')"
			defaultLeafIcon="@Embed(source='images/tree/leaf.png')"
			alternatingItemColors="[#FFFFFF,#EEEEEE]"
			dragEnabled="true" 
            dropEnabled="true" 
            dragMoveEnabled="true" 
            doubleClickEnabled="true"
            itemDoubleClick="itemDoubleClick(event)"
			itemClick="itemClick(event)"
            indentation="15"/>
	</mx:Panel>
	
</mx:Application>

 

  • 大小: 41.8 KB
0
0
分享到:
评论

相关推荐

    树形控件拖曳放置及移动_labview_labview树形控件_树形控件(tree)

    在LabVIEW编程环境中,树形控件(Tree Control)是一种常用的数据展示和交互工具,它以层次结构的方式显示数据,用户可以通过展开、折叠节点来查看和操作数据。本教程将详细讲解如何在LabVIEW中使用树形控件进行拖曳...

    labview树形控件的使用

    在LabVIEW中,树形控件(Tree Control)通常被用于创建和显示多级结构的数据,每个层级称为一个节点,节点可以包含子节点,形成一个类似目录树的结构。通过树形控件,用户可以方便地展开、折叠节点,选择或取消选择...

    Tree Control树形控件

    在Windows编程领域,树形控件(Tree Control)是一种常用且功能强大的用户界面元素,它允许用户以层次结构的方式展示数据。在标题“Tree Control树形控件”中提到的,主要是关于如何实现一个具有多级节点、可以展开...

    vc树形控件创建和使用

    在VC++编程环境中,树形控件(Tree Control)是一种常用的数据展示工具,它以层次结构的方式呈现数据,常用于文件浏览器、系统设置界面等。本文将深入探讨如何在VC++中创建和使用树形控件,以实现高效的数据管理和...

    VS2010和MFC编程入门之31(常用控件:树形控件TreeControl下)

    TreeControl的使用详解,包括节点的添加、删除、展开、收缩等 功能

    树形控件节点的图标效果;list 控件添加多列数据及网格栏效果;listbox控件的添加项的基本使用;list control、listbox control、Tree_view control 的使用实例(vc2005实现)

    本篇将详细介绍三个常用的控件:树形控件(Tree View Control)、列表控件(List Control)以及列表框控件(ListBox Control),并提供具体的实现案例。 首先,我们来看树形控件节点的图标效果。树形控件是一种层次...

    labview 利用tree控件创建树形结构

    利用labview自带的tree控件(不需要安装额外的工具包)创建树形结构,分为3层,主机层,分机层,节点层。还包括一篇介绍tree属性和方法的文档。

    VS2010/MFC编程(常用控件:树形控件Tree Control控件创建h和实例)

    前面一节讲了树形控件Tree Control的简介、通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建、CTreeCtrl类的主要成员函数和应用实例。 树形控件的创建 MFC为树形控件提供了CTreeCtrl类,它封装了...

    常用树形控件

    树形控件(Tree Control)是一种控件元素,它以层级结构显示数据,每个层级称为一个节点,节点可以包含子节点或叶子节点。通常,根节点位于顶部,而叶子节点没有子节点。用户可以通过展开和折叠节点来查看或隐藏子...

    Labview树形控件加载复选框

    首先,我们需要理解LabVIEW中的树形控件(Tree Control)的基本概念。树形控件是由一系列节点组成,每个节点可以有子节点,形成一个层次结构。这种控件常用于表示文件系统、目录结构或者复杂的逻辑关系。在树形控件...

    树形控件拖曳放置及移动_labview_labview树形控件_树形控件(tree).zip

    在LabVIEW编程环境中,树形控件(Tree Control)是一种常用的数据展示和交互工具,它以层次结构的方式显示数据,用户可以通过展开、折叠节点来查看和操作数据。本主题主要探讨如何实现树形控件的拖曳放置及移动功能...

    VC++中树形控件的使用

    在VC++编程环境中,树形控件(Tree Control)是一种常用的数据展示组件,它能够以层级结构的形式展示信息,常用于文件系统、目录结构或自定义数据组织的显示。本篇将详细介绍如何在VC++中使用树形控件,包括其基本...

    可编辑节点的树形控件

    这里的IDC_YOUR_TREE_CONTROL是你树形控件的资源ID。 2. **处理TVN_BEGINLABELEDIT**:当用户开始编辑一个节点时,OnBeginLabelEdit函数会被调用。通常,我们在此检查是否允许用户编辑特定节点,例如,可能不允许...

    树形控件拖曳放置及移动_labview_labview树形控件_树形控件(tree)_源码.zip

    在LabVIEW编程环境中,树形控件(Tree Control)是一种常用的数据展示和交互工具,它允许用户以层次结构的方式组织和操作数据。本资源“树形控件拖曳放置及移动_labview_labview树形控件_树形控件(tree)_源码.zip...

    mfc窗口分割和树形控件的结合使用

    在MFC(Microsoft Foundation Classes)框架中,窗口分割和树形控件的结合使用是创建复杂用户界面的常见方法。MFC提供了一种强大的机制,允许开发者构建具有多个视图和自定义布局的窗口,而树形控件则用于显示层次...

    Grid Control中使用的树形控件

    "Grid Control中使用的树形控件"是指在Grid Control的基础上集成了树形结构的功能,提供了一种更灵活、层次化的数据展示方式。 树形控件(TreeCtrl)通常用于展现具有层级关系的数据,例如文件系统、组织结构或菜单...

    Tree树形控件

    在计算机编程领域,树形控件(Tree Control)是一种常用的数据可视化组件,它通常用于展示层次结构的数据。在Windows应用程序开发中,Visual C++(简称VC)提供了对树形控件的支持,使得开发者能够轻松地在用户界面...

    VC++ 树形控件学习

    在VC++编程中,树形控件(Tree Control)是一种常用的数据展示组件,它能够以层级结构显示数据,常用于文件资源管理器、程序菜单等场景。本资料包"树形控件学习"针对VC++初学者,提供了一些实用的代码示例,帮助读者...

    MFC.design.tree.control.font.rar_MFC tree_MFC树形控件_tree_tree cont

    在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)中的树形控件(Tree Control),特别是在设计和定制字体方面。MFC是微软提供的一套C++类库,它为Windows API提供了一种面向对象的封装,使开发者可以更...

    Tree.rar_labview tree _labview 树_labview 树形_labview树形_labview树形妙

    在LabVIEW编程环境中,树形控件(Tree Control)是一种常用的数据展示和交互工具,它允许用户以层次结构的方式组织和操作数据。本教程将深入探讨如何在LabVIEW中使用树形控件,包括其基本功能、内容添加以及显示方法...

Global site tag (gtag.js) - Google Analytics