Сетка данных Adobe Flex: addEventListener MouseEvent.CLICK - PullRequest
0 голосов
/ 02 мая 2010

У меня есть сетка данных с пользовательским средством визуализации меток (в основном это делает метку похожей на традиционную гиперссылку html).

<mx:DataGridColumn id="itemId">  
  <mx:itemRenderer>
    <mx:Component>
      <controls3:HyperlinkLabel text="{data.doc}" />
    </mx:Component>
  </mx:itemRenderer>   
</mx:DataGridColumn> 

Выше работает отлично.

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

Я попробовал следующее, но, похоже, оно не работает:

itemId.addEventListener(MouseEvent.CLICK, onItemSelect);

1 Ответ

1 голос
/ 03 мая 2010

Вам не нужен идентификатор. Просто сделайте это, используя event.currentTarget

<mx:DataGridColumn id="itemId">  
  <mx:itemRenderer>
    <mx:Component>
      <controls3:HyperlinkLabel text="{data.doc}" click="onItemSelect(event)" />
    </mx:Component>
  </mx:itemRenderer>   
</mx:DataGridColumn> 

А потом ... в тэге Script ...

private function onItemSelect(event:MouseEvent) : void {
 // do something with event.currentTarget
}
...