国家的Flex组件根据其所在州填充

时间:2013-01-17 07:32:26

标签: actionscript-3 flex flex4 mxml

我在Flex面临一个大问题......

实际上我的要求是我有两个组合框CountryState

当我们选择国家时根据国家将会改变..

例如,我们选择国家为India,然后选择国家组合框给予印度所有国家。

他们的任何免费组件是否帮助了我......

非常感谢提前......

1 个答案:

答案 0 :(得分:1)

创建两个组合框非常简单。您只能使用一个数据提供程序,并使用一个组合框中的selectedItem属性作为第二个组合的数据提供程序。

问题可能是找到所有国家和州的清单。

这个小例子实现了我的解决方案。

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;
        ]]>
    </fx:Script>
    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            [Bindable]
            private var stateCountr:ArrayCollection =new ArrayCollection( [
                {name:"United States",states:new ArrayCollection(["Illinois","California","Arkansas","Florida","Alabama","New Jersey"])},
                {name:"India",states:new ArrayCollection(["Punja","Uttar Pradesh","Kerala"])},
                {name:"EU",states:new ArrayCollection(["Italy","France","Germany"])}
            ]);
        ]]>
    </fx:Script>
    <mx:VBox>
        <s:DropDownList id="country" labelField="name" dataProvider="{stateCountr}" >

        </s:DropDownList>
        <s:DropDownList id="state"  dataProvider="{country.selectedItem.states}">

        </s:DropDownList>

    </mx:VBox>
</s:Application>

您还应该看看这个ComboBox State and Country