Flex:点击Tree中的一行 打开/关闭 节点

引用: http://yecon.blog.hexun.com/28900948_d.html 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

        layout="vertical"

        verticalAlign="middle"

        backgroundColor="white">

 

    <mx:Script>

        <![CDATA[

            import mx.collections.ICollectionView;

            import mx.events.ListEvent;

 

            private function tree_itemClick(evt:ListEvent):void {

                var item:Object = Tree(evt.currentTarget).selectedItem;

                if (tree.dataDescriptor.isBranch(item)) {

                    tree.expandItem(item, !tree.isItemOpen(item), true);

                }

            }

 

            private function tree_labelFunc(item:XML):String {

                var children:ICollectionView;

                var suffix:String = "";

                if (tree.dataDescriptor.isBranch(item)) {

                    children = tree.dataDescriptor.getChildren(item);

                    suffix = " (" + children.length + ")";

                }

                return item[tree.labelField] + suffix;

            }

        ]]>

    </mx:Script>

 

    <mx:XML id="dp">

        <root>

            <folder label="One">

                <folder label="One.A">

                    <item label="One.A.1" />

                    <item label="One.A.2" />

                    <item label="One.A.3" />

                    <item label="One.A.4" />

                    <item label="One.A.5" />

                </folder>

                <item label="One.1" />

                <item label="One.2" />

            </folder>

            <folder label="Two">

                <item label="Two.1" />

                <folder label="Two.A">

                    <item label="Two.A.1" />

                    <item label="Two.A.2" />

                </folder>

            </folder>

        </root>

    </mx:XML>

 

    <mx:Tree id="tree"

            dataProvider="{dp}"

            showRoot="false"

            labelField="@label"

            labelFunction="tree_labelFunc"

            width="300"

            rowCount="6"

            itemClick="tree_itemClick(event);" />

 

</mx:Application> 

posted on 2009-05-30 20:36  anfeind  阅读(625)  评论(0编辑  收藏  举报

导航