[flexcoders] Re: Datagrid - Using and Editing Data From XMLListCollection
You would need to add an event listener for the itemeditend event. Then grab the data that was edited and modify the dataprovider. --- In flexcoders@yahoogroups.com, azona26 azsl1326-em...@... wrote: I have an editable datagrid with data being populated from an XMLListCollection. I am attempting to edit the data in one of the columns that is using a labelFunction to get its value. This column does not have a dataField value. How can I edit the data in the field and have the XMLListCollection reflect the updated change correctly as well as have the field value change? As it stands now I can change the data in the column, however once I leave that datafield it reverts back to the original value and the XMLListCollection remains unchanged. Here is the DG code: mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true / /mx:columns /mx:DataGrid mx:Script ![CDATA[ private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script XML CODE: properties buildingOffice/building buildingLunch/building building333/building building404/building /properties Thanks.
[flexcoders] Re: Datagrid - Using and Editing Data From XMLListCollection
Thanks for the help. I did try using an itemEditEnd eventlistener. The issue I was having was that the data value wasn't being changed it was still the original value. --- In flexcoders@yahoogroups.com, valdhor valdhorli...@... wrote: You would need to add an event listener for the itemeditend event. Then grab the data that was edited and modify the dataprovider. --- In flexcoders@yahoogroups.com, azona26 azsl1326-email@ wrote: I have an editable datagrid with data being populated from an XMLListCollection. I am attempting to edit the data in one of the columns that is using a labelFunction to get its value. This column does not have a dataField value. How can I edit the data in the field and have the XMLListCollection reflect the updated change correctly as well as have the field value change? As it stands now I can change the data in the column, however once I leave that datafield it reverts back to the original value and the XMLListCollection remains unchanged. Here is the DG code: mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true / /mx:columns /mx:DataGrid mx:Script ![CDATA[ private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script XML CODE: properties buildingOffice/building buildingLunch/building building333/building building404/building /properties Thanks.
[flexcoders] Re: Datagrid - Using and Editing Data From XMLListCollection
It works for me... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=onCreationComplete() mx:Script ![CDATA[ import mx.controls.TextInput; import mx.events.DataGridEvent; import mx.collections.XMLListCollection; private var building_xml:XML = properties buildingOffice/building buildingLunch/building building333/building building404/building /properties; private var building_xmllist:XMLList; [Bindable] private var building_xmlcoll:XMLListCollection; private function onCreationComplete():void { building_xmllist = building_xml.elements(); building_xmlcoll = new XMLListCollection(building_xmllist); } private function updateData(event:DataGridEvent):void { building_xml.elements(*)[event.rowIndex] = (buildingNumber_dg.itemEditorInstance as TextInput).text; } private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} itemEditEnd=updateData(event) mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true/ /mx:columns /mx:DataGrid /mx:Application --- In flexcoders@yahoogroups.com, azona26 azsl1326-em...@... wrote: Thanks for the help. I did try using an itemEditEnd eventlistener. The issue I was having was that the data value wasn't being changed it was still the original value. --- In flexcoders@yahoogroups.com, valdhor valdhorlists@ wrote: You would need to add an event listener for the itemeditend event. Then grab the data that was edited and modify the dataprovider. --- In flexcoders@yahoogroups.com, azona26 azsl1326-email@ wrote: I have an editable datagrid with data being populated from an XMLListCollection. I am attempting to edit the data in one of the columns that is using a labelFunction to get its value. This column does not have a dataField value. How can I edit the data in the field and have the XMLListCollection reflect the updated change correctly as well as have the field value change? As it stands now I can change the data in the column, however once I leave that datafield it reverts back to the original value and the XMLListCollection remains unchanged. Here is the DG code: mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true / /mx:columns /mx:DataGrid mx:Script ![CDATA[ private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script XML CODE: properties buildingOffice/building buildingLunch/building building333/building building404/building /properties Thanks.
[flexcoders] Re: Datagrid - Using and Editing Data From XMLListCollection
Thanks. I will try your updateData function. I was trying to grab the data in a different manner. I believe I was using the following: private function endEdit(event:DataGridEvent):void { trace('event.itemRenderer.data - ' + event.itemRenderer.data) } I will try your method and am guessing that it will work. Thanks for the assistance. --- In flexcoders@yahoogroups.com, valdhor valdhorli...@... wrote: It works for me... ?xml version=1.0 encoding=utf-8? mx:Application xmlns:mx=http://www.adobe.com/2006/mxml; layout=absolute creationComplete=onCreationComplete() mx:Script ![CDATA[ import mx.controls.TextInput; import mx.events.DataGridEvent; import mx.collections.XMLListCollection; private var building_xml:XML = properties buildingOffice/building buildingLunch/building building333/building building404/building /properties; private var building_xmllist:XMLList; [Bindable] private var building_xmlcoll:XMLListCollection; private function onCreationComplete():void { building_xmllist = building_xml.elements(); building_xmlcoll = new XMLListCollection(building_xmllist); } private function updateData(event:DataGridEvent):void { building_xml.elements(*)[event.rowIndex] = (buildingNumber_dg.itemEditorInstance as TextInput).text; } private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} itemEditEnd=updateData(event) mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true/ /mx:columns /mx:DataGrid /mx:Application --- In flexcoders@yahoogroups.com, azona26 azsl1326-email@ wrote: Thanks for the help. I did try using an itemEditEnd eventlistener. The issue I was having was that the data value wasn't being changed it was still the original value. --- In flexcoders@yahoogroups.com, valdhor valdhorlists@ wrote: You would need to add an event listener for the itemeditend event. Then grab the data that was edited and modify the dataprovider. --- In flexcoders@yahoogroups.com, azona26 azsl1326-email@ wrote: I have an editable datagrid with data being populated from an XMLListCollection. I am attempting to edit the data in one of the columns that is using a labelFunction to get its value. This column does not have a dataField value. How can I edit the data in the field and have the XMLListCollection reflect the updated change correctly as well as have the field value change? As it stands now I can change the data in the column, however once I leave that datafield it reverts back to the original value and the XMLListCollection remains unchanged. Here is the DG code: mx:DataGrid id=buildingNumber_dg editable=true dataProvider={building_xmlcoll} mx:columns mx:DataGridColumn headerText=Building Number labelFunction=getValue editable=true / /mx:columns /mx:DataGrid mx:Script ![CDATA[ private function getValue(item:Object,grid:DataGridColumn):String { return item.toString(); } ]] /mx:Script XML CODE: properties buildingOffice/building buildingLunch/building building333/building building404/building /properties Thanks.