The DG default code assumes that you are pulling properties for display and stuffing them on edit. Your label functions are not simply property pullers so you'll need to customize an ITEM_EDIT_END handler, call preventDefault() and stuff it yourself.
-Alex ________________________________ From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of arieljake Sent: Thursday, May 31, 2007 10:53 AM To: flexcoders@yahoogroups.com Subject: [flexcoders] Re: DataGrid edits with XMLListCollection dataprovider Update: I do not think this is something to be done with ItemRenderer or ItemEditor. I have tracked this to the DataGrid itself. There is a line there that says: data[property] = newValue; This leads to entries in the data like: <fields> <field1> <text>my new value</text> </field1> </fields> when the dataField="text" OR <fields> <field1> <null>my new value</null> </field1> </fields> when the dataField is empty. Text is not a property of an XML object, so there is no setter. And setChildren does not work as a property, only a method. How else can one get the DataGrid to save the data like: <fields> <field1>my new value</field1> </fields> --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> , Ariel Jakobovits <[EMAIL PROTECTED]> wrote: > > I have this file: > > <fields> > <field1>value1</field1> > <field2>value2</field2> > </fields> > > output in these columns: > > <mx:columns> > <mx:DataGridColumn headerText="Field" width="100" editable="false" labelFunction="getFieldLabel" /> > <mx:DataGridColumn headerText="Value" editable="true" labelFunction="getValueLabel" /> > </mx:columns> > > with these label functions: > > private function getFieldLabel(data:Object, column:DataGridColumn):String > { > return XML(data).localName().toString(); > } > private function getValueLabel(data:Object, column:DataGridColumn):String > { > return XML(data).text().toString(); > } > > Question: if I want to edit the value column, how do I set the text () property of an XML node? >