You can catch the event this way:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.macromedia.com/2003/mxml"
creationComplete="inici()" hScrollPolicy="off">
<mx:Script><![CDATA[
public var listOwner: mx.controls.List;
function inici(): Void {
listOwner.parentDocument.addEventListener("myEvent",
mx.utils.Delegate.create(this, btnClicked));
}
function btnClicked(): Void {
mx.controls.Alert.show("myEvent caught");
}
]]></mx:Script>
<!-- Several Flex components go here -->
</mx:HBox>
Note that this will trigger the function for every row displayed,
even if the row is empty. I'm not sure if this is really what you
want. It might be a better idea to just have the event handled by
the datagrid instead of the cell renderer, so that you can loop
through the data.
Hope that helps,
Doug
--- In [email protected], "nahruka" <[EMAIL PROTECTED]> wrote:
>
> Thank you Omar, I tried your approach but it didn't work... I'll
keep
> on trying :-S
>
> --- In [email protected], "Omar Ramos" <flex.list@> wrote:
> >
> > Hi,
> >
> > On your cell render you can use these properties.
> >
> > public var listOwner:mx.controls.List;
> > private var getCellIndex:Function;
> > private var getDataLabel:Function;
> >
> >
> > So instead of using parent use listOwner.parent, that should
give you
> > access to your button. Another aproach is to dispatch the button
> event into
> > the TileList and then on your cellrender listen to it using
> > listOwner.addEventListener("myEvent"). Let me know if this was of
> any help.
> >
> >
> > Omar Ramos
> >
> >
> >
> > On 3/28/06, nahruka <curaeweb@> wrote:
> > >
> > > Hi all,
> > >
> > > I'm new at Flex and need some help about event handling among
> > > different Flex components. I have a custom TitleWindow with a
Button.
> > > I want another custom component (used as a cell renderer in
this
> > > TitleWindow) to listen to this button to be clicked and then do
> > > something.
> > >
> > > Here is my TitleWindow WActes.mxml:
> > >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:TitleWindow xmlns:mx="http://www.macromedia.com/2003/mxml"
> > > xmlns="*" xmlns:ns1="Components.*"
creationComplete="doInit()"
> > > title="This is my popup" closeButton="true"
> > > click="this.deletePopUp()">
> > >
> > > <mx:Metadata>
> > > [Event("myEvent")]
> > > </mx:Metadata>
> > >
> > > <mx:Script><![CDATA[
> > > function myButtonClick() {
> > > dispatchEvent({type:"myEvent"});
> > > }
> > > ]]></mx:Script>
> > >
> > >
> > > <mx:DataGrid id="dgAlu" dataProvider="{myArr}" width="100%"
> > > height="100%" editable="true"
> > > variableRowHeight="true" wordWrap="true"">
> > > <mx:columns>
> > > <mx:Array>
> > > <mx:DataGridColumn headerText="Nom" columnName="nom"
> > > editable="false" width="80"
wordWrap="true"></mx:DataGridColumn>
> > > <mx:DataGridColumn headerText="Qualificacio"
editable="false"
> > > cellRenderer="Components.HBoxQualificacio"></mx:DataGridColumn>
> > > </mx:Array>
> > > </mx:columns>
> > > </mx:DataGrid>
> > >
> > > <mx:ControlBar>
> > > <mx:Button label="Close" click="deletePopUp()"/>
> > > <mx:Button id="myButton" label="Click here"
> > > click="myButtonClick()"></mx:Button>
> > > </mx:ControlBar>
> > >
> > >
> > > </mx:TitleWindow>
> > >
> > >
> > >
> > > And here is my own cell renderer, HBoxQualificacio.mxml:
> > >
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:HBox xmlns:mx="http://www.macromedia.com/2003/mxml"
> > > initialize="inici()" hScrollPolicy="off">
> > >
> > > <mx:Script><![CDATA[
> > >
> > > function inici() {
> > > var listenerObject = new Object();
> > > listenerObject.myEvent = function(event) {
> > > trace("myEvent catched"); //This is never printed!!! :-(
> > > }
> > > parent.myButton.addEventListener("myEvent",
listenerObject);
> > > }
> > > ]]></mx:Script>
> > >
> > > <!-- Several Flex components go here -->
> > >
> > > </mx:HBox>
> > >
> > >
> > >
> > > Please I do need some help! Thanks!
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Flexcoders Mailing List
> > > FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > > Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
> > >
> > >
> > > ------------------------------
> > > YAHOO! GROUPS LINKS
> > >
> > >
> > > - Visit your group
> "flexcoders<http://groups.yahoo.com/group/flexcoders>"
> > > on the web.
> > >
> > > - To unsubscribe from this group, send an email to:
> > >
> [EMAIL PROTECTED]<flexcoders-
[EMAIL PROTECTED]>
> > >
> > > - Your use of Yahoo! Groups is subject to the Yahoo! Terms
of
> > > Service <http://docs.yahoo.com/info/terms/>.
> > >
> > >
> > > ------------------------------
> > >
> >
>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/