Hi Mohanraj, It's very much possible, I have modified the previous example to dispatch events....It would give you some idea, how you can achieve the same.
I am using Metadata tag for mxml components, you can find more about in docs. ##main.mxml### <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" xmlns="*"> <mx:Script> <![CDATA[ var dp:Array = [ {label:"Abdul",data:1}, {label:"Manish",data:2}, {label:"Sam", data:3} ]; function startListening() { //you can also subscribe to change event of comp1 on this way... cmp1.addEventListener("change", mx.utils.Delegate.create(this, onCMP1Change)); } function onCMP1Change(event) { cmp2.textValue = event.target.selectedItem.label; } ]]> </mx:Script> <!-- you can assign event handlers to change attribute also. Following lin is commented now../--> <!-- <comp id="cmp1" dataProvider="{dp}" chnage="onCMP1Change(event);"/> /--> <comp1 id="cmp1" dataProvider="{dp}"/> <comp2 id="cmp2" creationComplete="startListening();" /> </mx:Application> ##comp1.mxml### <mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml"> <mx:Metadata> <!-- this tells the compiler to embed relevant code, so that you can broadcast 'change' event /--> [Event("change")] </mx:Metadata> <mx:Script> <![CDATA[ public var dataProvider:Array; public var selectedItem:Object; //call this function from change handler of combobox and this function dispatches the change event.. function onSelectionChange(event) { selectedItem = event.target.selectedItem; dispatchEvent({type:'change'}); } ]]> </mx:Script> <mx:ComboBox id="_cb" dataProvider="{dataProvider}" change="onSelectionChange(event);"/> </mx:VBox> ##comp2.mxml### <mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml"> <mx:Script> <![CDATA[ var textValue:String; ]]> </mx:Script> <mx:TextInput id="_ti" text="{textValue}"/> </mx:VBox> About Metadata tag: http://livedocs.macromedia.com/flex/15/flex_docs_en/00000459.htm Hope that helps... -abdul -----Original Message----- From: Mohanraj Jayaraman [mailto:[EMAIL PROTECTED] Sent: Saturday, April 09, 2005 4:13 AM To: [email protected] Subject: RE: [flexcoders] Exchanging data between MXML Components Hi Abdul and Tracy, Thanks for the example.It works, but I was expecting an event driven model instead of binding to exchange data between components. Can the same be explained with broadcast/listener model? Thanks, Mohanraj --- Abdul Qabiz <[EMAIL PROTECTED]> wrote: > Hi, > > You can achieve this by using Data Binding in Flex. > Did you look at binding? > > > You can bind two controls like this.. > > <mx:Application ..> > > <mx:ComboBox id="_cb" dataProvider="[{label:'India', > data:1}, {label:'USA', > data:2}]"/> > <mx:TextInput id="_ta" > text="{_cb.selectedItem.label}"/> > > </mx:Application> > > In above code, when combo box selection changes, > TextArea would be populated > with selected item's label. > > Please look at "Binding and Storing Data in Flex" > section Flex docs.. > http://livedocs.macromedia.com/flex/15/flex_docs_en/wwhelp/wwhimpl/js/html/w > whelp.htm?href=00000687.htm > > > Another quick-dirty example might give you an some > idea: > > > ##comp1.mxml### > > <mx:VBox > xmlns:mx="http://www.macromedia.com/2003/mxml"> > <mx:Script> > <![CDATA[ > > var dataProvider:Array; > var selectedItem:Object; > > ]]> > </mx:Script> > <mx:ComboBox id="_cb" dataProvider="{dataProvider}" > change="selectedItem = event.target.selectedItem;"/> > </mx:VBox> > > > ##comp2.mxml### > <mx:VBox > xmlns:mx="http://www.macromedia.com/2003/mxml"> > <mx:Script> > <![CDATA[ > > var textValue:String; > > ]]> > </mx:Script> > <mx:TextInput id="_ti" text="{textValue}"/> > </mx:VBox> > > ##main.mxml## > > <mx:Application > xmlns:mx="http://www.macromedia.com/2003/mxml" > xmlns="*"> > <mx:Script> > <![CDATA[ > > var dp:Array = [ > > {label:"Manish",data:2}, > {label:"Sam", > data:3}, > {label:"Abdul",data:1} > ]; > > ]]> > </mx:Script> > <comp1 id="cmp1" dataProvider="{dp}"/> > <comp2 id="cmp2" > textValue="{cmp1.selectedItem.label}"/> > > </mx:Application> > > > -abdul > > -----Original Message----- > From: Mohanraj Jayaraman > [mailto:[EMAIL PROTECTED] > Sent: Saturday, April 09, 2005 12:45 AM > To: [email protected] > Subject: [flexcoders] Exchanging data between MXML > Components > > > Hi , > > I have two MXML components 'comp1' and 'comp2' in my > main application file 'main' > > <mx:application ... > > <comp1 id="cmp1" /> > <comp2 id="cmp2" /> > </mx:application> > > > 'Comp1' populates a combo box 'cmb' with the result > from RemoteObject call. > > Upon selecting an Item from combo box 'cmb', I > should > popualte a text box 'tbox' in 'Comp2' > Basically 'Comp2' is dependant on comp1. > Can someone explain me with a simple example on how > 'Comp2' text box can receive the combo box data > everytime the combo box selection has changed? > > Thanks, > Mohanraj > > > > > __________________________________ > Do you Yahoo!? > Yahoo! Personals - Better first dates. More second > dates. > http://personals.yahoo.com > > > > > Yahoo! Groups Links > > > > > > > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com Yahoo! Groups Links 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/

