更改组合框时动态移动组合框?

时间:2013-03-02 05:58:58

标签: actionscript-3 flex flex4.5

我正在使用Flex builder 4.5。我的网络应用程序中有五个组合。 组合1作为工作人员和学生加载。 组合2加载部门, 组合3加载员工姓名, 组合4加载学生批次和 组合5分别加载学生姓名。

当我在第一个组合中选择学生时,组合4和组合5应该动态上升。请建议......

1 个答案:

答案 0 :(得分:0)

操纵控件的坐标不是一个好习惯。而不是它我将使用ViewStack控件并根据第一个组合的项目更改所选索引。

因此,您可以更好地控制视图表示,减少将来更改的问题。

<?xml version="1.0" encoding="utf-8"?>
<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">

<s:VGroup x="10" y="10">
    <s:ComboBox id="cbMain" selectedIndex="0">
        <s:ArrayList>
            <fx:Object label="Staff"/>
            <fx:Object label="Student"/>
        </s:ArrayList>
    </s:ComboBox>

    <mx:ViewStack id="vsMain" width="200" height="200" selectedIndex="{cbMain.selectedIndex}">
        <s:NavigatorContent id="ncStaff" width="100%" height="100%">

            <s:VGroup>
                <s:ComboBox id="cbStaffDep" selectedIndex="0">
                    <s:ArrayList>
                        <fx:Object label="Department01"/>
                        <fx:Object label="Department02"/>
                    </s:ArrayList>
                </s:ComboBox>

                <s:ComboBox id="cbStaffName" selectedIndex="0">
                    <s:ArrayList>
                        <fx:Object label="StaffName01"/>
                        <fx:Object label="StaffName02"/>
                    </s:ArrayList>
                </s:ComboBox>
            </s:VGroup>
        </s:NavigatorContent>

        <s:NavigatorContent id="ncStudent" width="100%" height="100%">

            <s:VGroup>
                <s:ComboBox id="cbStudentBatch" selectedIndex="0">
                    <s:ArrayList>
                        <fx:Object label="Batch01"/>
                        <fx:Object label="Batch02"/>
                    </s:ArrayList>
                </s:ComboBox>

                <s:ComboBox id="cbStudentName" selectedIndex="0">
                    <s:ArrayList>
                        <fx:Object label="StudentName01"/>
                        <fx:Object label="StudentName02"/>
                    </s:ArrayList>
                </s:ComboBox>
            </s:VGroup>

        </s:NavigatorContent>
    </mx:ViewStack>

</s:VGroup>

</s:Application>