Hmmm... That didn't seem to update the dataProvider.
--- In [email protected], "Don Kerr" <[EMAIL PROTECTED]> wrote:
>
> setting editorDataField to "selected" works for me....
>
> <mx:DataGridColumn headerText="Region Review" width="120"
> dataField="regionReview" editorDataField="selected"
> rendererIsEditor="true">
> <mx:itemRenderer>
> <mx:Component>
> <mx:CheckBox/>
> </mx:Component>
> </mx:itemRenderer>
> </mx:DataGridColumn>
>
>
> Don Kerr
>
>
> --- In [email protected], "greg_lafrance" <glafrance@>
wrote:
> >
> > 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>
> >
>