I have a column in a datagrid using CheckBox as itemRender, and user checks CheckBoxes they want to send email for.
But after user checks the CheckBoxes, the data provider has not been updated. Should I try to get the dataProvider to get the updated checked/unchecked state of the CheckBoxes (and if so, how), or should I simply examine the "selected" property of each of the Checkboxes (and if so, how). Someone in the Adobe Flex forum suggested in CheckBox you have to add "change" event handler and when it is called set the property. change="data.sendEmail = chk_box_id.selected", but Flex prevents me from using an ID in this case for the itemrenderer CheckBox. I tried this but then the checkBox does not get checked when you click it: change="data.sendEmail=this.selected" Thanks very much. Greg ------------- data/contactsTest.xml ------ <?xml version="1.0" encoding="utf-8" ?> <contacts> <contact> <name>Frank Bords</name> <sendEmail>false</sendEmail> </contact> <contact> <name>Dave Harris</name> <sendEmail>false</sendEmail> </contact> <contact> <name>Lee Travis</name> <sendEmail>false</sendEmail> </contact> <contact> <name>Glen Matin</name> <sendEmail>false</sendEmail> </contact> <contact> <name>Gary Curtis</name> <sendEmail>false</sendEmail> </contact> </contacts> --- Test.mxml --- <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.collections.XMLListCollection; import mx.controls.DataGrid; [Bindable] private var contactData:XMLListCollection; private function init():void { contactService.send(); } private function sendEmail(event:MouseEvent):void{ for each(var item:XML in contacts.dataProvider){ trace(item.sendEmail); } } private function contactResultHandler(event:ResultEvent):void{ contactData = new XMLListCollection (event.result.contact); } ]]> </mx:Script> <mx:HTTPService id="contactService" url="data/contactTest.xml" resultFormat="e4x" useProxy="false" result="contactResultHandler(event)"/> <mx:DataGrid id="contacts" dataProvider="{contactData}" rowCount="5"> <mx:columns> <mx:DataGridColumn dataField="name" headerText="Name" width="100"/> <mx:DataGridColumn dataField="sendEmail" headerText="Email Contacts" width="100" rendererIsEditor="true"> <mx:itemRenderer> <mx:Component> <mx:CheckBox label="Send Email" selectedField="{data.sendEmail as Boolean}" change="data.sendEmail=this.selected" paddingLeft="5"/> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> <mx:Button label="Email Checked Contacts" fontSize="14" color="0xAB45C4" click="sendEmail(event)"/> </mx:Application>