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>

  • 相关阅读:
    水晶报表显示到aspx页面中
    Python 2.7获取网站源代码的几种方式_20160924
    Seal Report_20160923
    MySQL交叉表处理_20160923
    MySQL日期处理函数_20160922
    MySQL文本处理函数2_20160921
    kettle及数据库导数_20160920
    MySQL常用的数据类型及函数_20160920
    MySQL记录_20160919
    [vuex]
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1045919.html
Copyright © 2011-2022 走看看