Список искр с кнопками - PullRequest
       9

Список искр с кнопками

1 голос
/ 25 августа 2011

У меня есть Spark List с поставщиком данных, состоящим из списка заполненных анкет.Как лучше всего добавить кнопку к каждому элементу списка (форма заявки)?Эта кнопка будет называться Открыть и будет перемещаться к указанной форме приложения.

Заранее благодарим за любые советы!

Ответы [ 2 ]

8 голосов
/ 25 августа 2011

Это похоже на то, что сказал @ www.Flextras.com, поэтому я не собираюсь повторять это. Однако я добавлю пример и одну или две вещи.

Ваш пользовательский ItemRenderer может выглядеть так:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark">

    <fx:Script>
        <![CDATA[
            import mx.events.ItemClickEvent;

            private function requestForm():void {
                var event:ItemClickEvent = new ItemClickEvent(ItemClickEvent.ITEM_CLICK);
                event.index = itemIndex;
                event.item = data;
                owner.dispatchEvent(event);
            }
        ]]>
    </fx:Script>

    <s:Label id="labelDisplay" verticalCenter="0" />
    <s:Button right="0" label="open" verticalCenter="0" click="requestForm()" />

</s:ItemRenderer>

Две вещи, которые отличаются от ответа Flextras:

  • Я использую встроенное ItemClickEvent вместо пользовательского события> меньше кодирование
  • Я отправляю событие на owner ItemRenderer, который на самом деле это список, содержащий этот ItemRenderer. Из-за этого, Вам не нужно выдавать событие.

Теперь, чтобы открыть форму при нажатии кнопки, сделайте что-то вроде этого:

myList.addEventListener(ItemClickEvent.ITEM_CLICK, openForm);

private function openForm(event:ItemClickEvent):void {
    trace("open " + event.item.toString());
}
2 голосов
/ 25 августа 2011

Используйте пользовательский itemRenderer, который отображает кнопку вместе с вашими данными itemRenderer (приложение формы).

Когда кнопка нажата;отправить пользовательское событие, которое пузыри.Возможно, вам придется включить некоторый идентификатор для приложения формы, который представляет щелчок этой кнопки.

Прослушивание события в классе списка с помощью метода addEventListener ().Вы не можете использовать MXML, поскольку будете использовать пользовательское событие, не определенное в метаданных по умолчанию для Списка.

В своем прослушивателе выполните соответствующие изменения пользовательского интерфейса, чтобы отобразить приложение формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...