![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
есть mx:List
ему назначен рендером компанент такого плана: <?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="310" height="25" horizontalGap="0" verticalAlign="middle" horizontalAlign="left">
<mx:Label id="label_text" text="{data.labl}"/>
<mx:Spacer width="20" height="20"/>
<mx:LinkButton label="Удалить" id="del_btn" click="action()"/>
<mx:Script>
<![CDATA[
import mx.core.Application;
public function action():void {
}
]]>
</mx:Script>
</mx:HBox>
Впринципе я передаю индекс элемента в дата провайдере внутрь этого айтема тоесть он знает на каком он индексе сидит (data.id) но мне никак не достучаться до массива,который является дата провайдером для этого листа, хотя я могу достучаться до парента лита.... помогите а?
__________________
To beer or no to beer? That is the question... |
|
|||||
|
УРА! нашел!
Application.application. итд итп. только после удалния нада заново айдишники фором в дата провайдере раздать
__________________
To beer or no to beer? That is the question... |
|
|||||
|
Правильнее будет послать событие, которое будет пузыриться и отлавливать его в компоненте, содержащим этот DataGrid.
|
|
|||||
|
дак а если это событие диспатчит айтем из листа как мне подписаться на него? Я тоже так хотел сначала но пока не допер каг... =))
__________________
To beer or no to beer? That is the question... |
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
если не заморачиваться с ивентами, можно обращаться через parentDocument или outerDocument к публичным функциям из любых компонентов к их родителям. Id строки можно получить через list.selectedItem.id. То есть просто обращаемся из компонента к нужной функции, а она уже все остальное делает.
__________________
Flex 2 и Co |
|
|||||
|
Подписываться нужно к DataGrid'у в компоненте, содержащем его. А слать событие его можно двумя способами:
1) самим рендерером используя баблинг, тогда в момент отлова target будет рендерер, а currentTarget будет DataGrid 2) из рендерера добраться до DataGrid'a (кажется owner) и сделать owner.dispatchEvent(...), тогда в момент отлова target == currentTarget и это будет DataGrid |
|
|||||
|
а это прокаитит с любым компанентом у которого есть айтемренднр?
ну например у меня Таил Лист или Лист
__________________
To beer or no to beer? That is the question... |
|
|||||
|
Прокатит, только если пользоваться вторым путем, сослаться из рендерера к компоненту,возможно, придется другим способом (к примеру, в одной из бетта версий у AdvancedDataGrid'a owner не вернет AdvancedDataGrid, а более ранней возвращает).
Последний раз редактировалось Sneg; 06.01.2008 в 19:44. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|