flex tree expandItem

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/30749527_d.html  -->
<!-- http://www.slsay.com -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

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

            private function comboBox_change(evt:ListEvent):void {
                var team:String = ComboBox(evt.currentTarget).selectedItem.@label;
                var node:XMLList = mlb.league.division.team.(@label == team);
                expandParents(node[0]);

                tree.selectedItem = node[0];
                var idx:int = tree.getItemIndex(node[0]);
                tree.scrollToIndex(idx);
            }

            private function expandParents(node:XML):void {
                if (node && !tree.isItemOpen(node)) {
                    tree.expandItem(node, true);
                    expandParents(node.parent());
                }
            }
        ]]>
    </mx:Script>

    <mx:XML id="mlb" source="mlb.xml" />

    <mx:ApplicationControlBar dock="true">
        <mx:ComboBox id="comboBox"
                prompt="Please select a team..."
                dataProvider="{mlb.league.division.team}"
                labelField="@label"
                change="comboBox_change(event);" />
    </mx:ApplicationControlBar>

    <mx:Tree id="tree"
            dataProvider="{mlb}"
            labelField="@label"
            showRoot="false"
            width="300"
            rowCount="8" />

</mx:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值