как назначить автоматически увеличенные имена идентификаторов для кнопок в flex - PullRequest
1 голос
/ 25 марта 2011

Я - любитель в flex, и начал свой последний годовой проект в flex, чтобы изучить его, я застрял в месте, где мне нужно создать ряды выпадающих списков, когда пользователь нажал add more, например: как в почтевложения

я думаю, что нашел способ генерировать строки, я даже не уверен, что это правильный путь, может быть, есть простые способы ... если, пожалуйста, дайте мне знать, как я генерируюrows:

<mx:states>
    <mx:State name="newRow">
        <mx:AddChild relativeTo="{cityDropdown}">
            <s:DropDownList id="newbutton" creationComplete="hotelDropdown_creationCompleteHandler(event)" labelField="Name">
                <s:AsyncListView list="{getAllHotelResult.lastResult}"/>
            </s:DropDownList>
            </mx:AddChild>
    </mx:State>
</mx:states>

теперь, когда я генерирую больше строк, идентификаторы выпадающего списка будут конфликтовать, поэтому я хочу знать способ создания идентификаторов, я думаю, что я даже не могу вызвать функцию там: (

пожалуйста, помогите ... срок истек: (

Ответы [ 2 ]

1 голос
/ 25 марта 2011

Просто так получилось, что я недавно создал нечто очень похожее, но с использованием ComboBox, а не DropDownList - где пользователь может нажать Add More, и новый ComboBox будет скользить вниз по новой строке (щелкните правой кнопкой мыши по демонстрации на моем сайте, чтобы просмотреть исходный код- ссылка ниже).

Может быть, вы можете получить от этого вдохновение.

Чтобы автоматически увеличивать имена идентификаторов, вам придется выполнить кодировку AS3.Каждый раз, когда создается кнопка, ее имя становится «whaterver» + i (с i как int, увеличивая каждый раз)

http://bbishop.org/blog/?p=448

enter image description here

0 голосов
/ 25 марта 2011

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

обернуть ваши элементы управления в один компонентчем сделать событие пузырьком из компонента.чем добавить слушателя на родительский элемент управления.вот и все.

//in your custom control
dispatchEvent(new Event("myCustomEvent", true));

//in the parent control
parentComponent.addEventListener("myCustomEvent", myEventHandler);
...