BudgetAC is an array of beans coming from a CFC..
However in the result() method of that command I convert it to an
ArrayCollection..

                public function result(event:Object):void {
                        MyModel.getInstance().BudgetAC = new 
ArrayCollection(event.result
as Array);
                }



On Tue, Oct 7, 2008 at 1:10 PM, Tim Hoff <[EMAIL PROTECTED]> wrote:
> What the heck?   Using dg.selectedItem as BudgetVO should work.  You can
> also go to the dataProvider:
>
> var budgetVO:BudgetVO = new BudgetVO();
> budgetVO = MyModel.getInstance().BudgetAC.getItemAt(dg.selectedIndex) as
> BudgetVO;
>
> var evt:BudgetEvent = new
> BudgetEvent(budgetVO,MyControl.EVENT_GET_BUDGET_DETAILS);
> CairngormEventDispatcher.getInstance().dispatchEvent(evt);
>
> However, this is no different than the other way.  Is BudgetAC an
> ArrayCollection of BudgetVOs?  Also, it's also conventional to use camel
> case (lower case first letter) for all of your variables.  That way it's
> easy to distinguish them from classes.
>
> -TH
>
> --- In [email protected], "Greg Morphis" <[EMAIL PROTECTED]> wrote:
>>
>> Nah I tried this too..
>>
>> var evt:BudgetEvent = new BudgetEvent(BudgetVO(dg.selectedItem) as
>> BudgetVO,MyControl.EVENT_GET_BUDGET_DETAILS);
>> CairngormEventDispatcher.getInstance().dispatchEvent(evt);
>>
>> (added the wrapper BudgetVO around the dg) and got this error message
>> TypeError: Error #1034: Type Coercion failed: cannot convert
>> [EMAIL PROTECTED] to com.vo.BudgetVO
>>
>>
>>
>> On Tue, Oct 7, 2008 at 11:47 AM, Tim Hoff [EMAIL PROTECTED] wrote:
>> > Hey, no worries Greg. Just passing it on. Once the VO is setup, you
>> > really shouldn't have to cast the individual properties. To reduce some
>> > of
>> > the code, does this work?
>> >
>> > var evt:BudgetEvent = new BudgetEvent(myDataGrid.selectedItem as
>> > BudgetVO,MyControl.EVENT_GET_BUDGET_DETAILS);
>> > CairngormEventDispatcher.getInstance().dispatchEvent(evt);
>> >
>> > -TH
>> >
>> > --- In [email protected], "Greg Morphis" gmorphis@ wrote:
>> >>
>> >> Thanks Tim, I appreciate the help. I want to learn but yeah I want to
>> >> learn the right way to do things.
>> >> Again, I appreciate your time and patience with me..
>> >>
>> >> Thanks!
>> >>
>> >> On Tue, Oct 7, 2008 at 10:43 AM, Tim Hoff TimHoff@ wrote:
>> >> > 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" gmorphis@ 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 gmorphis@ 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 TimHoff@ 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