I would normally expect that the model is the dataProvider for a top-level datagrid, or the model is a singleton and doesn't require pushing down.
If callLater solved your timeout problem it makes me think that there's some invalidation problem and you might now be hitting a slow performance problem. That might be worth diagnosing and resolving in the more "standard" way so you have fewer problems down the road. Often, when I run into issues like this, it makes me re-think my design. ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of markgoldin_2000 Sent: Tuesday, April 22, 2008 6:05 PM To: [email protected] Subject: [flexcoders] Re: Question about commitProperties I am using callLater only because I was getting 15 secs. error. I am changing xmlModelData down the road. --- In [email protected] <mailto:flexcoders%40yahoogroups.com> , "Alex Harui" <[EMAIL PROTECTED]> wrote: > > There's not enough context here to know for sure, but it's probably a > bad sign to be using callLater in any validation method as the point is > to validate synchronously. I'm also concerned about how you are using > your properties bag on the ClassFactory. I hope you're not changing the > values assigned. > > > > Everything should be data-driven (pulling data from data objects). If > feels like you're pushing stuff down, instead of pulling. > > > > ________________________________ > > From: [email protected] <mailto:flexcoders%40yahoogroups.com> [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com> ] On > Behalf Of markgoldin_2000 > Sent: Tuesday, April 22, 2008 3:29 PM > To: [email protected] <mailto:flexcoders%40yahoogroups.com> > Subject: [flexcoders] Question about commitProperties > > > > I have a custom renderer based on canvas that has the following > setters: > public function set trainId(value:String):void > { > _trainId = value; > } > public function get trainId():String > { > return _trainId; > } > public function set highlightCurrentHour(value:String):void > { > _backgroundColor = value; > } > public function get highlightCurrentHour():String > { > return _backgroundColor; > } > public function set xmlModelData(value:XML):void > { > _xmlModelData = value; > } > public function get xmlModelData():XML > { > return _xmlModelData; > } > > then I have: > override protected function commitProperties():void > { > super.commitProperties(); > assignBlocks(xmlModelData, trainId, highlightCurrentHour); > } > and > public function assignBlocks(xmlModelData:XML, trainId:String, > highlightCurrentHour:String):void > { > callLater(trainDepartGrid.assignBlocks, [trainId, > xmlModelData, highlightCurrentHour]); > trainDepartGrid.width = xmlModelData.trainshours.(train_id == > trainId).setwidth; > callLater(trainReceivingGrid.assignCars, [trainId, > xmlModelData, highlightCurrentHour]); > trainReceivingGrid.width = xmlModelData.trainshours.(train_id > == trainId).setwidth; > } > > I am setting these properties on this renderer like this: > ClassFactory(codeDestinationRenderer).properties = > {trainId:prop.train_id, highlightCurrentHour:bBackgroundColor, > xmlModelData:xmlModelData}; > > My question is: > Is commitProperties is a right place to call assignBlocks? > Before I changed my code to this version the program worked much > better though. > > Please help. > > Thanks >

