`
jayjayjays
  • 浏览: 214077 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在 Tree 中查找节点。在对话框中输入要查找的节点的值

    博客分类:
  • flex
阅读更多

 

<?xml version="1.0" encoding="utf-8"?>
<!-- Searchable Tree control example. uses e4x expression to find a node with matching id attribute-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()">
<mx:Script><![CDATA[
  [Bindable]
  public var _xmlData:XML;
  
  public function initApp():void
  {
    _xmlData = <element eid="hello">
         <element eid="world">
            <element eid="123"/>
            <element eid="graham"/>
            <element eid="weldon">
               <element eid="office">
                  <element eid="thing"/>
                  <element eid="boat"/>
                  <element eid="chair"/>
               </element>
               <element eid="person"/>
                </element>
             </element>
          </element> ;
   trace("test")
  }//initapp
  
  //starts at the given node, walks up the tree opening nodes as it goes
  private function expandParents(xmlNode:XML):void
  {
    while (xmlNode.parent() != null) {  
      xmlNode = xmlNode.parent();
      myTree.expandItem(xmlNode,true, false);
    }
  }//expandParents

  //uses e4x to find a node, then calls expand parents to make it visible,
  //then selects it      
private function findNodeById(sId:String):void
{
  var xmllistDescendants:XMLList  = _xmlData.descendants().(@eid == sId);
  expandParents(xmllistDescendants[0]);
  myTree.selectedItem = xmllistDescendants[0];
  }//findNodeById           
]]></mx:Script>

    
<mx:Panel title="Tree Control Example" height="75%" width="75%" 
        paddingTop
="10" paddingLeft="10" paddingRight="10" paddingBottom="10">
        
<mx:HBox>
          
<mx:TextInput id="tiId" text="boat" />
          
<mx:Button label="Find" click="findNodeById(tiId.text)" />         
        
</mx:HBox>
        
<mx:Tree id="myTree" width="50%" height="100%" labelField="@eid"
            showRoot
="false" dataProvider="{_xmlData}" />      
    
</mx:Panel>
</mx:Application>
分享到:
评论
1 楼 hlq2005 2010-10-18  
太谢谢了,正需要这个功能

相关推荐

    MFC中Tree Ctrl加载指定目录下的所有文件

    这些函数返回一个文件查找句柄,通过这个句柄我们可以获取到文件或目录的名字,判断它是文件还是目录,然后在TreeCtrl中创建相应的节点。 以下是一个基本的步骤概述: 1. **初始化TreeCtrl**:在对话框的 ...

    二叉排序树 建立 查询 删除

    在二叉排序树中,对于任意节点,其左子树中的所有节点的键值都小于该节点的键值,而右子树中的所有节点的键值都大于该节点的键值。这种特性使得二叉排序树在插入、查找和删除操作上具有高效的性能。 在MFC...

    Tab+Tree控件联合使用

    本文将深入探讨如何在对话框中联合使用“Tab控件”和“Tree控件”,这两种控件在很多桌面应用中都非常常见,尤其适用于组织和展示大量信息。"Tab+Tree控件联合使用"的主题意味着我们要在不同的选项卡页面上利用树形...

    treecontrol

    "treecontrol"是一个在IT领域中常见的术语,通常指的是树形控件,它在图形用户界面(GUI)中用于展示层次结构数据。在Windows应用程序开发中,如MFC(Microsoft Foundation Classes)框架下,`CTreeCtrl`是实现树...

    树形控件(用于查找不同硬盘分区下文件)

    1. **初始化树形控件**:首先,在对话框资源编辑器中添加一个树形控件,并为其分配ID,例如IDC_FILE_TREE。然后在对话框类的DoDataExchange函数中,使用DDX_Control宏将控件与成员变量关联起来,如`DDX_Control(pDX,...

    VC知识库文章 - 树控件的应用 -- 求子树节点的集.rar_vc 树控件

    在实际应用中,我们可能需要根据特定条件筛选子树节点,比如查找特定文本的节点。这时,可以在遍历过程中添加条件判断,满足条件时执行相应操作。 总之,VC中的树控件提供了强大而灵活的功能,可以方便地展示和操作...

    二叉排序树图形化界面

    二叉排序树(Binary Sort Tree),又称二叉搜索树,是一种特殊的二叉树结构,它满足以下特性:对于任意一个节点,其左子树中的所有节点的值都小于该节点的值,而右子树中所有节点的值都大于该节点的值。这种特性使得...

    二叉树的前序中序后序遍历MFC

    在C++代码中,你可以创建一个二叉树的类,包含节点的值、左子节点和右子节点的指针。遍历函数作为类的方法,根据前序、中序或后序遍历的规则进行实现。 例如,对于前序遍历,你的代码可能如下: ```cpp void ...

    二叉树官方源码BinaryTree_src

    在给定的“二叉树官方源码BinaryTree_src”中,我们可以找到一系列与二叉树相关的源代码文件,这为理解和实现二叉树提供了宝贵的参考资料。 首先,我们看到一个名为"BinaryTreeDemo.clw"的文件,这可能是项目的工作...

    evc 树状列表

    1. **创建TreeCtrl**: 首先要在对话框资源中添加一个TreeCtrl控件,或者在代码中动态创建。在资源编辑器中,可以选择"视图"类型并设置控件ID。 2. **初始化TreeCtrl**: 在对话框初始化函数(如 OnInitDialog())中...

    B树的演示 MFC实现

    B树(Balanced Tree)是一种自平衡的树数据结构,它能够保持数据排序,并且在插入、删除和查找等操作时都能保持较高的效率。B树的主要特点是每个节点可以拥有多个子节点,这与二叉树(每个节点最多两个子节点)不同...

    witchFormTest

    在IT行业中,"witchFormTest" 和 "tree 控件" 是与用户界面设计相关的概念,尤其是在Windows应用程序开发中。这个标题可能是指一个测试项目或工具,用于演示或测试树形控件(Tree Control)的功能。树形控件是一种...

    二叉搜索树统计单词频率 MFC实现

    二叉搜索树(BST,Binary Search Tree)是一种特殊的二叉树结构,它的每个节点都包含一个键值(key)、一个关联的数据或值、一个指向左子树的引用和一个指向右子树的引用。在二叉搜索树中,对于任何非空节点,其左...

    b_plus_tree.rar_b+tree_b+tree磁盘_b+树 文件_plus_磁盘实现B+树

    2. **b+tree磁盘**:在磁盘存储中,B+树能够减少磁盘I/O操作,因为它的节点通常比内存中的数据块大,这样每次磁盘读取可以获取多个键值对,提高了性能。 3. **b+树 文件**:这里可能是指B+树被用作文件系统的索引...

    c++软件开发实践项目 基于mfc 结构为avl tree的单词表

    添加单词时,需要在AVL树中找到合适的位置并插入新节点;删除单词时,要考虑节点的平衡性,可能需要调整其父节点甚至更高层级的节点;修改单词则涉及到查找指定节点并更新其信息;查询单词则是根据AVL树的性质快速...

    CTreeCtrl控件的总结

    在上面的代码中,我们首先定义了一个树控件的样式,然后使用Create函数创建了一个树控件对象,并将其关联到当前的对话框中。 二、插入树节点 在创建了树控件对象后,我们可以插入树节点。插入树节点需要使用...

    Visual C++编程技巧精选集 光盘

    20.如何在“文件”对话框中选择多个文件 21.如何从“文件”对话框中获取文件标题名 22.如何从“文件”对话框中获取文件扩展名 23.如何在“文件”对话框中预览位图文件 24.如何创建一个文件“保存”对话框 25.如何在...

    Easyui 树形控件展示

    3. 初始化树形控件:在 JavaScript 中,我们可以使用 `$(selector).tree(options)` 方法来初始化树形控件并设置选项。 ```javascript $(function() { $('#tree').tree({ data: jsonData, // JSON 数据 onClick: ...

    riffic_MFC_

    3. **查找操作**:从根节点开始,根据节点值决定向左还是向右搜索,直到找到目标节点或遍历完所有节点。 4. **前序遍历、中序遍历和后序遍历**:访问树的所有节点,通常用于打印或复制树的结构。 二叉搜索树的优点...

    MFC实现二叉树的搜索和插入

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来实现二叉搜索树(Binary Search Tree, BST)的基本操作,包括搜索和插入。MFC 是一个由微软提供的C++类库,用于构建Windows应用程序,它提供...

Global site tag (gtag.js) - Google Analytics