Hi, all;

I had to remove all databindings in my project, because it was making 
unexpected objects update, which was really slowing performance.  So 
I am manually setting the dataProvider on a repeater, which is itself 
inside a component that is repeated in a horizontal list.  I'm 
setting the data provider in my init() function, which runs on 
dataChange and uses callLater to make sure the repeater is ready.

However, each time the application runs, the _first_ instance (loop 
0) of my component runs the initialization logic twice.  This is a 
big problem, since the repeater whose dataprovider itself is 
repeating a component which (you guessed it) contains another 
repeater.  So that extra loop over the init logic causes the data 
change logic in all those inner components to fire an extra time.  
This slows the display of my component.  Subsequent loops behave as 
expected.

Here is a snippet of the logic I believe is causing the problem:

private function init():void{
                                
                                solutionXMLList= new XMLListCollection
(data[nodeName]);
                                callLater(setDataProvider);
                        }
                        private function setDataProvider():void{
                                        if (!gridColumns.dataProvider)
{
                                        
        gridColumns.dataProvider = solutionXMLList;
                                        }
                        }

Thanks!

Amy

Reply via email to