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: [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