2010-05-02 154 views
0

我有一個自定義標籤itemrenderer的數據網格(基本上它使標籤看起來像一個傳統的HTML超鏈接)。Adob​​e 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); 

回答

1

你並不需要一個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 
} 
+0

我不認爲這是可能的。首先,我的理解是,如果我想要使用該方法,它將是outerDocument.onItemSelect(event) 但我真的想嘗試使用eventlistener,如果可能的話,因爲我的代碼都在中介。 – JonoB 2010-05-03 08:35:01

+0

然後我不得不問爲什麼你要在介體中加入演示文稿標記? – Robusto 2010-05-03 12:30:35

+0

我不知道我理解你的問題,但現在我已經去使用outerDocument.onItemSelect(event)方法。它的休息封裝,但嘿,你必須做你必須做的。 感謝您的幫助。 – JonoB 2010-05-05 09:07:07