Hrm, seems the only way it works, is if I wrap it in an HBox - is this normal?
(code below works) <?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" horizontalAlign="center" implements="mx.core.IFactory"> <mx:Script> <![CDATA[ import mx.controls.dataGridClasses.DataGridColumn; public var dataField:String; public var rowData:Object; private static var pattern:RegExp = /(\d{4})\-(\d{2})\-(\d{2})/i; public function newInstance():* { return new GenericE4XtoDateItemRenderer(); } override public function set data(value:Object):void { if( value != null ){ rowData = value; if( !(value is DataGridColumn) && dataField != null ){ var result:Array = pattern.exec( value[dataField] ); if( result != null ) date.data = new Date( result[1], result[2], result[3] ); } } } ]]> </mx:Script> <mx:DateField id="date" yearNavigationEnabled="true" /> </mx:HBox>

