PDA

Просмотр полной версии : repeater, how2 set id


jrkin
03.03.2009, 19:14
Добрый день/вечер.
Проблема:
захотел сделать репитером n-ное количество canvas
и нужно обращаться к конкретному канвасу, чтобы, скажем удалить его.

<mx:Repeater id="Qrepeater" dataProvider="{mydata}">
<mx:Canvas width="100%" height="103" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Label text="{Qrepeater.currentItem.text}" fontSize="18" x="28" y="10" width="752" alpha="0.8"/>
<mx:Label text="{Qrepeater.currentItem.comment}" x="28" y="53"/>
<mx:Button label="q_button_{Qrepeater.currentIndex}" x="558" y="69" cornerRadius="4" click=""/>
</mx:Canvas>
</mx:Repeater>



и уж очень хочется мне обращаться к каждому канвасу данного репитера отдельно, но делать id через {Qrepeater.currentIndex} не получается.

Сорри, если проблема глупая, вроде поиском не нашел.

Замысел один - Список вопросов, при клике на конкретном вопросе, появляется окошко с возможными вариантами ответов и соответственно вопрос из списка удаляется.

wvxvw
03.03.2009, 19:21
Репитер, когда создает объекты диспатчит события, можно эти события отлавливать и добавлять в какой-нибудь массив последнего потомка добавленного к контейнеру, в котором находиться репитер. не особенно красиво... но другого метода получить ссылки на всех потомков репитора я не вижу.

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

GBee
03.03.2009, 19:56
Вообще-то для вашей задачи подходит и List

jrkin
03.03.2009, 21:52
спасибо, попробую лист, а то замучился биться с репитером