I was going to ask another question, but I think  that there is an
easier way to determine if the reference style is a problem.

Have you turned binding warnings off in Flex config?  If so, turn them
back on.  You should get a "changes to property ..." warning.

But the question anyway: How does "ModelLocator" get instantiated or
referenced in the component that contains the datagrid?

The danger is in the form of reference like this: 
{mx.core.Application.application.myMember{.

Tracy

-----Original Message-----
From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of fowleryj
Sent: Monday, October 17, 2005 12:03 PM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: Problem with repeater and datagrid -- Please
help!

Tracy,

In the mxml file, the bindings look like this:

<mx:DataGrid id="searchResultsDataGrid"
dataProvider="{ModelLocator.searchResults}">

And ModelLocator.searchResults contains the results of a database
query (i.e. ModelLocator.searchResults = event.result in the onResult
of SearchCommand.as).

The relevant parts of ModelLocator.as look like this:
class com.desktop.model.ModelLocator implements
org.nevis.cairngorm.model.ModelLocator
{
   public static function initialize() : Void
   {            
        ModelLocator.searchResults = new Object();
   }

//----------------------------------------------------------------------
------
        
   public static var searchResults:Object;
}

Thanks, and let me know if there's more detail I can give you.

--- In flexcoders@yahoogroups.com, "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> How are you binding to the variables? I am not using Cairngorm, so I
> apologize if that should be obvious 
> Tracy
> 
> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
On
> Behalf Of fowleryj
> Sent: Monday, October 17, 2005 10:58 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Problem with repeater and datagrid -- Please
> help!
> 
> Tracy's comment about binding caught my eye because I've been
> experiencing what seems to be unreliable binding in my application.
> I'm curious as to whether the reason is the issue Tracy mentioned. As
> an example:
> 
> From my main page, I'll open a popup window whose ComboBoxes should be
> pre-populated with the results from a database call via a
> RemoteObject. These ComboBoxes are empty, and only populate if I close
> the window and re-open it. The same goes for the DataGrid and Labels
> that will be populated with search results-- they are initially empty,
> but populate once the window is closed and re-opened. I should mention
> that I am using Cairngorm, and the dataProviders for all of these
> components are ModelLocator variables, and thus static.
> 
> The way that I have worked around this is to stop using ModelLocator
> variables as dataProviders, which I don't like doing, because I feel
> like I'm deviating from the Cairngorm architecture. Here is what I am
> doing instead:
> 
> Whenever an event completes (a "SetSearchResultSelection," for
> example, which will store the object that the user selects of all the
> search results stored in the DataGrid), I fire a "FinishedEvent" from
> within that Command class's execute() method that announces that the
> event has completed. This allows me access to the Command class's
> variables (eventObject.<var_name>, for example) in my ViewHelper's
> handleEvent() method via event.data.<var_name>.
> 
> Anytime I use this work-around instead of binding to ModelLocator
> variables, the components populate the first time the window is
> opened. Can anyone offer any insight as to why this is the case?
> 
> Thank you.
> 
> --- In flexcoders@yahoogroups.com, "Tracy Spratt" <[EMAIL PROTECTED]>
wrote:
> >
> > In your code, you do not have "two mxml files".  It does not matter
> > where the code for a component comes from.  When the component gets
> > instantiated, it is "in" the application, and you can reference the
> > parent application as Manish suggests.
> > 
> >  
> > 
> > Be careful with binding.  While I am not sure about
parentApplication
> or
> > parentDocument references, I AM sure about the
> > mx.core.Application.application style reference from within a
> component:
> > It will NOT reliably support binding, because of data typing issues.
> If
> > you need to bind to something in the application scope, post, and
I'll
> > suggest some solutions.
> > 
> >  
> > 
> > Tracy
> > 
> >  
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
> On
> > Behalf Of Parekh, Shweta - BLS CTR
> > Sent: Friday, October 14, 2005 1:49 PM
> > To: flexcoders@yahoogroups.com
> > Subject: RE: [flexcoders] Problem with repeater and datagrid --
Please
> > help!
> > 
> >  
> > 
> > So then two mxml files will be accessing the same actionscript. In
one
> > mxml, the member is set and the other mxml accesses the member. That
> > might work for me. But can two mxml files access the same
> actionscript?
> > 
> >  
> > 
> > -Shweta
> > 
> >     -----Original Message-----
> >     From: flexcoders@yahoogroups.com
> > [mailto:[EMAIL PROTECTED] On Behalf Of Mink, Joseph
> >     Sent: Friday, October 14, 2005 1:18 PM
> >     To: flexcoders@yahoogroups.com
> >     Subject: RE: [flexcoders] Problem with repeater and datagrid --
> > Please help!
> > 
> >     Or you can create a static actionscript class with a private
> > member.  Set that member, and then everyone who accesses the static
> > class will get the same value for that static member:
> > 
> >      
> > 
> >     class StaticClass
> > 
> >     {
> > 
> >       public static var theValue;
> > 
> >     }
> > 
> >      
> > 
> >     ...
> > 
> >      
> > 
> >     StaticClass.theValue = something;
> > 
> >      
> > 
> >     ...
> > 
> >      
> > 
> >     if (StaticClass.theValue == something)
> > 
> >     ...
> > 
> >      
> > 
> >     Does that help?
> > 
> >      
> > 
> >     
> > ________________________________
> > 
> > 
> >     From: flexcoders@yahoogroups.com
> > [mailto:[EMAIL PROTECTED] On Behalf Of Manish Jethani
> >     Sent: Friday, October 14, 2005 12:27 PM
> >     To: flexcoders@yahoogroups.com
> >     Subject: Re: [flexcoders] Problem with repeater and datagrid --
> > Please help!
> > 
> >     On 10/14/05, Parekh, Shweta - BLS CTR <[EMAIL PROTECTED]>
> > wrote:
> >     
> >     > 1. Are there global variables in Flex so that I can take the
> > result from
> >     > remote call in a global variable and then use it anywhere --
> > in my case in
> >     > the child component?
> >     
> >     You can save the result in the application and then refer to it
> > from
> >     child components using the expression
> > "parentApplication.myResult"
> >     (can even bind to it I guess).






--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links



 








------------------------ Yahoo! Groups Sponsor --------------------~--> 
Fair play? Video games influencing politics. Click and talk back!
http://us.click.yahoo.com/T8sf5C/tzNLAA/TtwFAA/nhFolB/TM
--------------------------------------------------------------------~-> 

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
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/
 



Reply via email to