zoukankan      html  css  js  c++  java
  • Preventing specific items from being selected in a Flex Tree control

    The following example shows you how you can prevent any item from being selected by adding an attribute (named “clickable”, but you could name it anything you wanted) and using E4X expressions to determine if the currently clicked item should be selectable or not.

    Full code after the jump.

    Note that in the following example, items with the “(X)” suffix are not-selectable, only the following nodes should be selectable: “Grandchild 1″, “Grandchild 2″, and “Child 4″.

    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2008/01/16/preventing-specific-items-from-being-selected-in-a-flex-tree-control/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout
    ="vertical"
            verticalAlign
    ="middle"
            backgroundColor
    ="white"
            creationComplete
    ="init();">

        
    <mx:Script>
            
    <![CDATA[
                import mx.events.ListEvent;

                private function init():void {
                    tree.openItems = dp..node;
                }

                private function tree_itemClick(evt:ListEvent):void {
                    var item:Object = evt.currentTarget.selectedItem;
                    var nonSelectable:Boolean = ((item.hasOwnProperty("@clickable")) && (item.(@clickable == "false")));
                    if (nonSelectable) {
                        tree.selectedItem = null;
                    }
                }
            
    ]]>
        
    </mx:Script>

        
    <mx:XML id="dp">
            
    <root>
                
    <node label="Parent 1 (X)" clickable="false">
                    
    <node label="Child 1 (X)" clickable="false" />
                    
    <node label="Child 2 (X)" clickable="false">
                        
    <node label="Grandchild 1" />
                        
    <node label="Grandchild 2" />
                    
    </node>
                    
    <node label="Child 3 (X)" clickable="false" />
                    
    <node label="Child 4" />
                
    </node>
            
    </root>
        
    </mx:XML>

        
    <mx:Tree id="tree"
                dataProvider
    ="{dp}"
                showRoot
    ="false"
                labelField
    ="@label"
                width
    ="200"
                itemClick
    ="tree_itemClick(event);" />

    </mx:Application>

  • 相关阅读:
    LeetCode111 二叉树的最小深度
    LeetCode104 二叉树的最大深度
    LeetCode102 二叉树的层次遍历
    LeetCode94 二叉树的中序遍历
    LeetCode145 二叉树的后序遍历
    LeetCode144 二叉树的前序遍历
    计算机考研真题 最大序列和
    计算机考研真题 对称矩阵
    计算机考研真题 点菜问题
    计算机考研真题 数字反转
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1045919.html
Copyright © 2011-2022 走看看