基于列表选择将条件数据提供者弹性到树

时间:2011-08-01 22:59:29

标签: flex

这是我在名为nodesAndStuff.xml的文件中的XML数据。

<?xml version="1.0" encoding="utf-8"?>
<root>
    <node label="One" />
    <node label="Two" />
    <node label="Three" />
    <node label="Four" />
    <node label="Five" />
    <node label="Six" />
    <node label="Seven" />
    <node label="Eight" />
    <node label="Nine" />
</root>

使用此数据源的组件是XMLListCollection,它绑定到spark List,其代码为:

<s:Application name="Spark_List_dataProvider_XML_test"
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/halo"
    initialize="init();">

<fx:Script>
    <![CDATA[
        private function init():void {
            xmlListColl.source = nodes.children();
        }
    ]]>
</fx:Script>

<fx:Declarations>
    <fx:XML id="nodes" source="nodesAndStuff.xml" />
</fx:Declarations>

<s:List id="lst"
        labelField="@label"
        horizontalCenter="0" verticalCenter="0">
    <s:dataProvider>
        <s:XMLListCollection id="xmlListColl" />
    </s:dataProvider>
</s:List>

现在我已经在列表下方添加了我的树,我在one.xml中保存了从10到19的计数,在two.xml中保存了20到29,依此类推在不同的XML文件中。我不知道如何将包含10到19之间的计数的XML连接为树中选择标签1的树中的单个节点。

1 个答案:

答案 0 :(得分:0)

有各种各样的方法可以做你想做的事。保持你的榜样精神,我已经修改它以做我想要的思考

<fx:Script>
    <![CDATA[
        private function init():void {
            processXML(one);
        }

        private function processXML(nodes:XML):void {
            xmlListColl.removeAll();
            xmlListColl.source = nodes.children();
        }

    ]]>
</fx:Script>

<fx:Declarations>
    <fx:XML id="one" source="one.xml" />
    <fx:XML id="two" source="two.xml" />
</fx:Declarations>

<s:List id="lst"
        labelField="@label"
        horizontalCenter="0" verticalCenter="0">
    <s:dataProvider>
        <s:XMLListCollection id="xmlListColl" />
    </s:dataProvider>
</s:List>

<s:Button label="Change" click="processXML(two)" />