Thanks for the insight into the problem, it helped a great deal. 

I came up with another solution which seems to work and conceptually at least 
seems a little simpler. 

I put the proceedure to fill in the text fields in a creation complete event in 
the Canvas, then called the view of the canvas in the double click event. 

This Seems to work, but being in my first year of Flex (20 years in Oracle, 4D 
et al),... more better insights always appreciated.

Dan Pride



--- On Fri, 7/18/08, shaun <[EMAIL PROTECTED]> wrote:

> From: shaun <[EMAIL PROTECTED]>
> Subject: Re: [flexcoders] Screen Refresh function??
> To: flexcoders@yahoogroups.com
> Date: Friday, July 18, 2008, 10:32 AM
> Dan Pride wrote:
> > I have a screen with datagrid lists which list the
> basics.
> > Users double click list items to display and enter
> further data.
> > The screen does not display the values on the first
> change of the selected child canvas. After the first
> attempt it always does, but the "first
> impression" bites. Is there a way to get this to
> display first and every time???
> > 
> > Basic function I am using on the doubleclick on the
> datagrid is:
> > 
> > private function displayLoca():void{
> >     applicationScreens.selectedChild = locaScreen;
> >     locaName.text = locaGrid.selectedItem.NameCol;
> >     locaField.text = locaGrid.selectedItem.FieldCol;
> >     locaSquare.text = locaGrid.selectedItem.SquareCol;
> > }
> > 
> 
> Maybe your TextInput objects have not been created at the
> time your 
> setting your data.
> 
> Try this instead:
> 
> private function displayLoca():void{
>     applicationScreens.selectedChild = locaScreen;
>     locaScreen.selectedItem = locaGrid.selectedItem;
> }
> 
> 
> And something like the following in your "edit
> component":
> 
> private var _selectedItem:Object;
> 
> public function set selectedItem(o:Object):void{
>    _selectedItem = o;
> 
>    if (_selectedItem) callLater(updateInputs);
> }
> 
> public function get selectedItem():Object{
>   return _selectedItem;
> }
> 
> private function updateInputs():void{
>   locaName.text = _selectedItem.NameCol;
>   locaField.text = _selectedItem.FieldCol;
>   locaSquare.text = _selectedItem.SquareCol;
> }
> 
> 
> HTH.
>   - shaun


      

Reply via email to