If the View's, and all parents have a
creationPolicy (in the case of Containers) to "all", then it will be
created. However, you cannot depend on creation order 100%; you'll end
up with a race condition somehwere, and pull you're hair out. You're
best approach is to utilize a ModelLocator approach where you're sub-view,
the datagrid, is bound to data inside the view. This data is exposed
as a public property that has the bindable tag (can be a getter /setter
[mutator] also). That way, as soon as the view is created, it has the
data it needs.
-- pseduo code --
// ModelLocator class
[Bindable]
public var
my_array:ArrayCollection;
// main view
import ModelLocator;
<view:MyView
someData="{ModelLocator.getInstance().my_array}" />
// sub view
public var
someData:ArrayCollection;
<mx:DataGrid dataProvider="{someData}"
/>
Make sense?
----- Original Message -----
Sent: Monday, July 10, 2006 10:59 AM
Subject: [flexcoders] Accessing a datagrid inside a different
viewstate
I have a custom component that I created and I
have added it to the main application. There is a datagrid inside the
custom component. I call the data in the main app, place it in a
public ArrayCollection and want the datagrid to display the data. My
problem is that the datagrid is in a different viewstate other than the
default view and so I get a null reference error when I try to populate the
datagrid from the main app. Is there a way to force the component to
create itself with the main app even though it is in a different
viewstate? Thank you