Adobe Flex Datagrid:addEventListener MouseEvent.CLICK
问题描述:
我有一个自定义标签itemrenderer的数据网格(基本上它使标签看起来像一个传统的HTML超链接)。Adobe Flex Datagrid:addEventListener MouseEvent.CLICK
<mx:DataGridColumn id="itemId">
<mx:itemRenderer>
<mx:Component>
<controls3:HyperlinkLabel text="{data.doc}" />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
上述工作完美。
我想尝试添加一个事件侦听器到这个itemrenderer,但我不知道如何做到这一点,因为我不能指定一个id为itemrendered本身。
我尝试以下,但它似乎没有工作:
itemId.addEventListener(MouseEvent.CLICK, onItemSelect);
答
你并不需要一个ID。只要做到这一点使用event.currentTarget
<mx:DataGridColumn id="itemId">
<mx:itemRenderer>
<mx:Component>
<controls3:HyperlinkLabel text="{data.doc}" click="onItemSelect(event)" />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
然后......在你的脚本标签...
private function onItemSelect(event:MouseEvent) : void {
// do something with event.currentTarget
}
我不认为这是可能的。首先,我的理解是,如果我想要使用该方法,它将是outerDocument.onItemSelect(event) 但我真的想尝试使用eventlistener,如果可能的话,因为我的代码都在中介。 – JonoB 2010-05-03 08:35:01
然后我不得不问为什么你要在介体中加入演示文稿标记? – Robusto 2010-05-03 12:30:35
我不知道我理解你的问题,但现在我已经去使用outerDocument.onItemSelect(event)方法。它的休息封装,但嘿,你必须做你必须做的。 感谢您的帮助。 – JonoB 2010-05-05 09:07:07