Динамически добавлять несколько экземпляров формы на основе пользовательского ввода - Flex - PullRequest
0 голосов
/ 04 марта 2010

Я пытаюсь создать форму, которая на основе пользовательского ввода будет определять, сколько форм генерировать динамически.

У меня есть базовое состояние со списком, который содержит 1-4. Основываясь на выборе пользователей, я бы хотел, чтобы следующее состояние генерировало количество форм. Так что, если вы выбираете пользователя 2 и нажимаете «Далее», будут отображаться 2 копии формы.

Мне просто интересно, возможно ли это, как я поступил бы, или кто-нибудь знает какие-либо примеры?

1 Ответ

1 голос
/ 04 марта 2010

Это, конечно, возможно. Вот грубый пример, чтобы дать вам некоторые идеи о том, что вы могли бы сделать. :)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            [Bindable]
            public var dataProviderCombo:ArrayCollection = new ArrayCollection(
                [ {label:"1 Form", data:1}, 
                  {label:"2 Forms", data:2}, 
                  {label:"3 Forms", data:3},
                  {label:"4 Forms", data:4} ]);

            private function GenerateForms():void
            {
                myFormContainer.removeAllChildren();

                for (var i:int = 1; i <= myComboBox.selectedItem.data; i++)
                {
                    var formToAdd:MyCustomForm = new MyCustomForm();
                    myFormContainer.addChild(formToAdd);
                }
            }
        ]]>
    </mx:Script>
    <mx:ComboBox id="myComboBox" x="0" y="10" dataProvider="{dataProviderCombo}" change="GenerateForms();"></mx:ComboBox>
    <mx:HBox id="myFormContainer" y="40">

    </mx:HBox>
</mx:Application>
...