Aha, I see. Let me make sure I understand. ownerData is defined in set method. That means it's set as many times as many rows are in the DG, right? But why can't I talk directly to the dataProvider of my DG? Or using a private var is the direct way?
Dominique Bessette - Halsema <[EMAIL PROTECTED]> wrote: ownerdata is a variable that is set to the DG's row data. ownerData = value as XML; get's the row data. sorry i should have commented it more On 12/21/07, mark goldin <[EMAIL PROTECTED]> wrote: Not sure I understand about ownerData. Is it a hard coded dataProvider name for DG? I am working on a generic solution, I can't use hard coded names. Sorry, if I am misunderstanding your solution. Dominique Bessette - Halsema <[EMAIL PROTECTED] > wrote: Here is the code for the itemRenderer for a combobox i made. The dataProvider is xml. <?xml version="1.0" encoding="utf-8"?> <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml " rowCount="2" labelField="@name" dataProvider="{weemcStatus}" change="onSelectionChange(event)"> <mx:Script> <![CDATA[ import mx.events.ListEvent; import mx.controls.dataGridClasses.DataGridListData; import mx.collections.XMLListCollection; private var ownerData:XML; //binds the xml row data to the combobox and appends the weemcStatus override public function set data(value:Object):void { if(value){ ownerData = value as XML; if(ownerData.weemcStatus.toString() == "" || ownerData.weemcStatus.toString () == null){ var item:XML = <weemcStatus>WILCO</weemcStatus>; ownerData.appendChild(item.toXMLString()); } } } override public function get data():Object { return ownerData; } override public function setFocus():void { super.setFocus(); open(); } //get's the new status and changes the xml status value private function onSelectionChange(e:ListEvent):void { if(selectedItem && ownerData){ var col:DataGridListData = DataGridListData(listData); var sname:String = selectedItem.toString (); if(ownerData.weemcStatus.toString() != "" || ownerData.weemcStatus.toString() != null){ ownerData.weemcStatus = sname; } else{ var item:XML = <weemcStatus>{sname}</weemcStatus>; ownerData.appendChild(item.toXMLString()); } } } private var xmlStatus:XML = <weemc> <status>WILCO</status> <status>CANTCO</status> </weemc>; [Bindable] private var weemcStatus:Array = (new XMLListCollection( xmlStatus.status)).toArray(); ]]> </mx:Script> </mx:ComboBox> On 12/20/07, mark goldin <[EMAIL PROTECTED] > wrote: I am using a Combobox as an itemRenderer for one of columns in a DG. I have managed to intercept "change" event of the combobox. But what do I do to store new value from Combo into DG's dataProvider for the following data save to the server? What is an actual design pattern for that? Thanks much for help.