Possibly listen for the dataChange event[1] or override the data setter[2] for the renderer. Handle assignment of the data yourself, checking for nulls/ bad values.
[1] http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/gridClasses/GridItemRenderer.html#event:dataChange [2] http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/gridClasses/GridItemRenderer.html#data -Mark -----Original Message----- From: Deepak MS [mailto:megharajdee...@gmail.com] Sent: Wednesday, July 02, 2014 2:26 AM To: users@flex.apache.org Subject: Spark GridItemRenderer Hello, I was generating columns for a datagrid dynamically, but wanted to align number columns on right and hence I used following code to assign renderer to the gridcolumn: var gc:GrdiColumn = new GridColum('Growth'); var ir:ClassFactory = new ClassFactory(SpreadItemRenderer); ir.properties = {textAlign:'right'}; gc.itemRenderer = ir; SpreadItemRenderer.as : public class SpreadItemRenderer extends GridItemRenderer { public var textAlign:String; public function SpreadFormatRenderer() { super(); } override protected function createChildren() : void { super.createChildren(); if(labelDisplay) { labelDisplay.setStyle("textAlign", textAlign); } } } But, when I do that, column do not display any data in the datagrid. When I debugged, I see that labelDisplay is always null. Isn't labelDisplay used to display data under GridItemRenderer? What am I missing here? I am using Flex 4.12.0 | AIR 4.0 | FP 12.0 for a mobile app (iPad).