If really all you want to do is, "override the text", then this is overkill. Just use a labelFunction().
But if you want to do an item renderer, I should think you would set the display in the set data() override. Well, rather in the the commitProperties function, after invalidating properties in set data (). Tracy --- In [email protected], "karlgold" <[EMAIL PROTECTED]> wrote: > > I'm trying to implement a custom item renderer in ActionScript that > parses an ISO date string (which is the way the date is always > represented in my data feed) and formats it for display in a DataGrid > column. > > I have tried multiple variations on this: > > package com.mycompany.components { > > import mx.controls.dataGridClasses.DataGridItemRenderer; > import mx.controls.dataGridClasses.DataGridListData; > import mx.controls.listClasses.BaseListData; > import mx.formatters.DateFormatter; > > public class DateRenderer extends DataGridItemRenderer { > > private var _formatter:DateFormatter > > public function DateRenderer() { > > super(); > > _formatter = new DateFormatter(); > _formatter.formatString="EEE, DD MMM YYYY at LL:NN A"; > } > > private function isoToDate(value:String):Date { > > var dateStr:String = value; > > dateStr = dateStr.replace(/-/g, "/"); > dateStr = dateStr.replace("T", " "); > dateStr = dateStr.replace("Z", " GMT-0000"); > > return new Date(Date.parse(dateStr)); > } > > override public function set listData( row:BaseListData ) : void { > > super.listData = row; > > var data:String = row.label; > if (data) { > var date:Date = isoToDate(data); > super.text = _formatter.format(date); > } else { > super.text = "n.a."; > } > > super.invalidateDisplayList(); > } > } > } > > However, the data grid always displays the raw ISO date rather than the > formatted one. > > I stepped through the code and noticed that > DataGridItemRenderer.validateProperties() always sets the text property > to _listData.label. I can see my formatted text value getting reset to > the raw data value every time. > > Is there some way around this short of copying and hacking up my own > version of DGIR? > > I also tried extending Label; this displayed the formatted date but all > the normal mouse behaviors (highlighting on mouseover, selecting on > click) stopped working in that column. Really all I want to do is > override the text that DGIR displays. > > Thanks for any guidance, > > Karl >

