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 flexcoders@yahoogroups.com, "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: flexcoders@yahoogroups.com 
[mailto:[EMAIL PROTECTED] On
> Behalf Of dr_stone_1024
> Sent: Thursday, May 10, 2007 12:22 PM
> To: flexcoders@yahoogroups.com
> 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?
>


Reply via email to