PDA

Просмотр полной версии : Подписка на событие айтем рендера (так и не разобрался)


artfabrique
02.02.2008, 00:10
Есть DataGrid
к одной из колонок прилеплен ItemRender (MXML компанент на базе HBox)
внутри него 4 кнопки тупо.
Я хочу чтобы при нажатии на кнопку диспатчился эвент типа что-то вроде "moveItemUp" или "moveItemDown"

В компаненте есть такая запись

<mx:Metadata>
[Event(name="itemMoveUp", type="flash.events.Event")]
[Event(name="itemMoveDown", type="flash.events.Event")]
[Event(name="itemEdit", type="flash.events.Event")]
[Event(name="itemDel", type="flash.events.Event")]
</mx:Metadata>


на нажатие одной из кнопок повесил следующее:

public function moveUp():void {
dispatchEvent(new Event("itemMoveUp"));
}


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

etc
02.02.2008, 02:15
Использовать всплывающие события, например.

artfabrique
02.02.2008, 05:21
тоесть так?

public function moveUp():void {
dispatchEvent(new Event("itemMoveUp",true));
}


а это событие должно появится в атокомплите когда пишешь код? с молнией такое. когда у датаграда в MXML в параметрах новый пункт добавляешь? =)))) просто если нет то может можно как нить это включить - удобней бы было в 100 раз =)

Sneg
02.02.2008, 13:25
А самом проверить никак нельзя что-ли?

Не появится оно, т.к. оно не определено в DataGrid, а ты подписываешься к нему, а не к рендереру.

etc
02.02.2008, 14:15
То, что его нет в списке, не значит, что оно не будет всплывать.