I kind of thought you might say that, so let me explain a little more
about my application. I'm trying to do two complex things at once
and I'm not sure which is breaking.
To start with I'm using Flex 2.01 and Cairngorm 2.2 arch. My main
view file is "MainPanel.mxml" which contains some controls that
dynamically update different items in my Model by raising Events that
get turned into Commands, etc. The result() method in my Commands
update the Model, which in turn is bound to other controls in my
MainPanel object. This works great and does exactly what I want up
to a certain point.
Part of what I'm trying to display is a series of datagrids that are
generated by a repeater whose dataProvider is a local function call
in my main view. This function processes variables in the model and
returns an ArrayCol. The repeater seems to handle this okay, but
when I bind the DP of my DataGrid to a similar function to generate
the contents of the rows it "works", but the data is not available
yet, so nothing is displayed.
Here's some of my code:
<mx:Repeater id="clusterRepeater" dataProvider="{model.clusters}">
<mx:Panel layout="vertical" title="{clusterRepeater.currentItem}">
<mx:Tile backgroundColor="#DDDDDD">
<mx:Repeater id="cabinRepeater" dataProvider="{getCabinsByCluster
(clusterRepeater.currentItem as String)}" >
<mx:VBox backgroundColor="#00FF00" paddingTop="2"
paddingBottom="2" paddingLeft="2" paddingRight="2">
<mx:Label text="{cabinRepeater.currentItem.name}"/>
<mx:DataGrid rowCount="5" left="2" right="2" bottom="2" top="2"
dataProvider="{getCampersByCabin
(cabinRepeater.currentItem.cabinID)}">
<mx:columns>
<mx:DataGridColumn headerText="" dataField="col1" width="30"/>
<mx:DataGridColumn headerText="Name" dataField="fullname"
width="170"/>
<mx:DataGridColumn headerText="Grade" dataField="grade"
width="50"/>
</mx:columns>
</mx:DataGrid>
</mx:VBox>
</mx:Repeater>
</mx:Tile>
</mx:Panel>
</mx:Repeater>
Both getCabinsByCluster and getCampersByCabin return an ArrayCol.
The two repeaters work fine, but the dataGrid does not show
anything. Again, using the debugger it appears that the result
handler providing the row data is not finished executing until after
the repeater(s) are done.
I may be missing something basic, but how do I tell my result handler
to update these datagrids in the view? It updates the model okay,
but how do I "refresh a binding" that is tied to a function?
Thanks in advance,
Seth
--- In [email protected], "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> Use the result event of the data service call. Have that event
call a
> handler function, where you can do whatever you need to do.
>
> Tracy
>
>
>
>
>
> ________________________________
>
> From: [email protected]
[mailto:[EMAIL PROTECTED] On
> Behalf Of dr_stone_1024
> Sent: Thursday, May 10, 2007 12:22 PM
> To: [email protected]
> Subject: [flexcoders] Timing issue when retrieving data from a
remote
> object
>
>
>
> How do I know when an Asynchronous RemoteObject call is complete?
> Parts of my UI are being displayed that are bound to the results of
the
> RO call, and are being drawn before the data is available.
>
> Any thoughts?
>