"I have no idea why it wont work with an ArrayCollection" Because your ArrayCollection is a collection of VO's, not a collection of ArrayCollections; although there may be ArrayCollections as properties of the VO. Can you not just do this?
MyModel.getInstance().SelectedBudgetVO = event.target.selectedItem as BudgetVO; -TH --- In flexcoders@yahoogroups.com, "Greg Morphis" <[EMAIL PROTECTED]> wrote: > > I changed it to using a VO and it works.. > > MyModel.getInstance().SelectedBudgetVO = (event as BudgetEvent).budget; > > //Alert.show(MyModel.getInstance().Budget.amount.toString()); > > I have no idea why it wont work with an ArrayCollection, but it works > as a VO.. not sure if this is best practice or not > > On Tue, Oct 7, 2008 at 9:41 AM, Greg Morphis [EMAIL PROTECTED] wrote: > > This is F'ed up... > > > > I changed my code to this... > > > > public function handleChangeEvent(event:Event):void > > { > > var myVO:BudgetVO = new BudgetVO(); > > myVO.actiondate = event.target.selectedItem.actiondate; > > myVO.amount = event.target.selectedItem.amount; > > myVO.id = event.target.selectedItem.id; > > ... > > > > var evt:BudgetEvent = new BudgetEvent(myVO, MyControl.EVENT_GET_BUDGET_DETAILS); > > CairngormEventDispatcher.getInstance().dispatchEvent(evt); > > > > } > > > > public class GetBudgetDetailsCommand implements ICommand, IResponder > > { > > > > private var currentSelectedVO:BudgetVO = null; > > > > public function execute(event:CairngormEvent):void { > > > > MyModel.getInstance().SelectedBudgetAC = (event as BudgetEvent).budget > > as ArrayCollection; > > > > /* If I Alert the (event as BudgetEvent).budget.amount.toString() I > > get the amount > > > > But if I Alert MyModel.getInstance().SelectedBudgetAC.getItemAt(0).amount.toString() > > I get a null error.. matter of fact if I Alert > > MyModel.getInstance().SelectedBudgetAC.toString() > > I get a null error.. so where the hell is my data going? MyModel.as is > > being imported into the command. > > > > import com.model.MyModel > > > > Again, inside MyModel.as I have the global vars.. > > > > public var SelectedBudgetAC:ArrayCollection; > > > > to check to make sure the MyModel was loading properly I added another > > var to it.. > > > > public var fooVar:Number = 0; > > > > And if I alert that value in the execute() function, it Alerts "0" as > > it should.. > > I'm lost > > */ > > Alert.show(MyModel.getInstance().fooVar.toString()); > > > > } > > .... > > > > > > > > On Tue, Oct 7, 2008 at 8:28 AM, Greg Morphis [EMAIL PROTECTED] wrote: > >> Still null.... > >> > >> The DataGrid looks like > >> <mx:DataGrid id="dg" width="100%" > >> height="100%" dataProvider="{MyModel.getInstance().BudgetAC}" > >> click="clickHandler(event);" > >> change="handleChangeEvent(event as DataGridEvent);"> > >> > >> > >> Data loads fine in the grid.. cool.. The change event fires and > >> > >> public function handleChangeEvent(event:Event):void > >> { > >> MyModel.getInstance().SelectedBudgetAC = event.target.selectedItem > >> as ArrayCollection; > >> Alert.show(event.target.selectedItem.amount.toString()); > >> Alert.show(MyModel.getInstance().SelectedBudgetAC.getItemAt(0).toString(\ )); > >> > >> var evt:CairngormEvent = new > >> CairngormEvent(MyControl.EVENT_GET_BUDGET_DETAILS); > >> CairngormEventDispatcher.getInstance().dispatchEvent(evt); > >> > >> } > >> > >> I just don't get it.. the first Alert works and I see the amount of > >> the selectedItem, but the second gives a null error.. > >> TypeError: Error #1009: Cannot access a property or method of a null > >> object reference. > >> at com.view::budgetBook/handleChangeEvent() > >> at com.view::budgetBook/__dg_change() > >> at flash.events::EventDispatcher/dispatchEventFunction() > >> at flash.events::EventDispatcher/dispatchEvent() > >> at mx.controls.listClasses::ListBase/mouseUpHandler() > >> at mx.controls::DataGrid/mouseUpHandler() > >> > >> > >> > >> > >> On Tue, Oct 7, 2008 at 7:37 AM, jitendra jain > >> [EMAIL PROTECTED] wrote: > >>> Use event.target.selectedItems instead of event.target.selectedItem > >>> > >>> Thanks, > >>> > >>> with Regards, > >>> Jitendra Jain > >>> > >>> > >>> ----- Original Message ---- > >>> From: Greg Morphis [EMAIL PROTECTED] > >>> To: flexcoders@yahoogroups.com > >>> Sent: Tuesday, 7 October, 2008 7:22:23 AM > >>> Subject: Re: [flexcoders] handling data within a datagrid > >>> > >>> That was a typo instead of copying and pasting.. > >>> mySelectedRow is an ArrayCollection > >>> I'm assignin the event.target. selectedItem which is a datagrid row to it.. > >>> I want to knmow why it's not working the way it should... > >>> > >>> To learn I'm creating a budgetbook of sorts.. so here's what I have > >>> copied and pasted.. > >>> > >>> public function handleChangeEvent( event:DataGridEv ent):void > >>> { > >>> MyModel.getInstance ().SelectedBudge tAC = event.target. selectedItem as > >>> ArrayCollection; > >>> Alert.show(MyModel. getInstance( ).SelectedBudget AC.getItemAt( 0).payee) ; > >>> var evt:CairngormEvent = new CairngormEvent( MyControl. EVENT_GET_ > >>> BUDGET_DETAILS) ; > >>> CairngormEventDispa tcher.getInstanc e().dispatchEven t(evt); > >>> > >>> } > >>> > >>> public var Budget:BudgetVO; > >>> public var BudgetAC:ArrayColle ction; > >>> public var budgetID:Number; > >>> public var SelectedBudgetAC: ArrayCollection; > >>> > >>> sorry about that.. > >>> > >>> On Mon, Oct 6, 2008 at 9:02 PM, Tracy Spratt [EMAIL PROTECTED] com> wrote: > >>>> Then how are you expecting that setting "mySelectedRow" property will do > >>>> anything regarding the "SelectedBudgetAC" property? > >>>> > >>>> Tracy > >>>> > >>>> > >>>> > >>>> ____________ _________ _________ __ > >>>> > >>>> From: [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED] ups.com] On > >>>> Behalf Of Greg Morphis > >>>> Sent: Monday, October 06, 2008 8:02 PM > >>>> To: [EMAIL PROTECTED] ups.com > >>>> Subject: Re: [flexcoders] handling data within a datagrid > >>>> > >>>> > >>>> > >>>> No, just global variables > >>>> > >>>> On Mon, Oct 6, 2008 at 7:13 PM, Tracy Spratt [EMAIL PROTECTED] com> > >>>> wrote: > >>>>> Does MyModel handle the relationship between mySelectedRow and > >>>>> SelectedBudgetAC? Using setters or getters? > >>>>> > >>>>> Tracy > >>>>> > >>>>> > >>>>> > >>>>> ____________ _________ _________ __ > >>>>> > >>>>> From: [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED] ups.com] On > >>>>> Behalf Of Greg Morphis > >>>>> Sent: Monday, October 06, 2008 7:48 PM > >>>>> To: [EMAIL PROTECTED] ups.com > >>>>> Subject: [flexcoders] handling data within a datagrid > >>>>> > >>>>> > >>>>> > >>>>> I've got my datagrid populating but I need to see that data in aother > >>>>> location within my app. > >>>>> In my MyModel.as > >>>>> I have a "global" variable > >>>>> public var mySelectedRow: ArrayCollection; > >>>>> > >>>>> I've tried setting this variable in the dataGrid change event... > >>>>> public function handleChangeEvent( event:Event) :void > >>>>> { > >>>>> MyModel.getInstance ().mySelectedRow = event.target. selectedItem as > >>>>> ArrayCollection; > >>>>> Alert.show(MyModel. getInstance( ).SelectedBudget AC.getItemAt( > >>>>> 0).amount) ; > >>>>> var evt:CairngormEvent = new > >>>>> CairngormEvent( MyControl. EVENT_GET_ DATA_DETAILS) ; > >>>>> CairngormEventDispa tcher.getInstanc e().dispatchEven t(evt); > >>>>> > >>>>> } > >>>>> > >>>>> The Alert returns a null error.. but it looks like it should be working? > >>>>> What I'm trying to do is I have a VO I need to populate.. I was going > >>>>> to do that within a command (is that best practice? -- to seperate > >>>>> display from logic) > >>>>> So anywho I'm trying to populate that arraycollection and then in the > >>>>> command do all the fun stuff... > >>>>> var myVO:FootVO = MyModel.getInstance ().FooVO; > >>>>> myVO.amount = MyModel.getInstance ().SelectedBudge tAC.getItemAt( > >>>>> 0).amount; > >>>>> > >>>>> but I'm getting a null error.. is this the proper way to load a VO > >>>>> from a selected DataGrid row? > >>>>> > >>>>> Thanks > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> ________________________________ > >>> Add more friends to your messenger and enjoy! Invite them now. > >> > > >