Well, it's better practice to update the model with an event/command
anyway.  No idea why the selectedItem isn't working through the event. 
Another approach would be:

MyModel.getInstance().SelectedBudgetVO = myDataGrid.selectedItem as
BudgetVO;

-TH

--- In [email protected], "Greg Morphis" <[EMAIL PROTECTED]> wrote:
>
> Also this returns null
>
> Alert.show(MyModel.getInstance().SelectedBudgetVO.amount.toString());
>
> (trying it right after assigned the event.target.selectedItem to the
> SelectedBudgetVO)
>
> On Tue, Oct 7, 2008 at 10:30 AM, Greg Morphis [EMAIL PROTECTED] wrote:
> > I don't think something is firing..
> > I had it working with the other code.. creating the empty VO and
> > assigning the values one by one and then passing the VO to the
command
> > to populate the MyModel SelectedVO..
> > When I chose a row a form I had started populating using this:
> > {MyModel.getInstance().SelectedBudgetVO.amount.toString()}
> >
> > but when I changed the changeHandler to just
> > MyModel.getInstance().SelectedBudgetVO = event.target.selectedItem
as BudgetVO;
> >
> > They stopped populating
> >
> >
> > On Tue, Oct 7, 2008 at 10:17 AM, Tim Hoff [EMAIL PROTECTED] wrote:
> >> "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 [email protected], "Greg Morphis" gmorphis@ 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 gmorphis@ 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 gmorphis@ 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
> >>> >> jitendra_jain_2007@ wrote:
> >>> >>> Use event.target.selectedItems instead of
event.target.selectedItem
> >>> >>>
> >>> >>> Thanks,
> >>> >>>
> >>> >>> with Regards,
> >>> >>> Jitendra Jain
> >>> >>>
> >>> >>>
> >>> >>> ----- Original Message ----
> >>> >>> From: Greg Morphis gmorphis@
> >>> >>> To: [email protected]
> >>> >>> 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.
> >>> >>
> >>> >
> >>>
> >>
> >>
> >
>


Reply via email to