Hi Andrey,

You can write a custom itemRenderer extending the checkBox and in the
set data() you can handle with the values coming from dataProvider.
Refer the following code.

package com.Renderers{
public class myRenderer extends CheckBox{

override public function set data(value:Object):void{
super.data = value;

if(value.check == 'true'){
this.selected = true;
}
else{
this.selected = false;
}
}
}
}


<mx:AdvancedDataGridColumn dataField="check"
itemRenderer="com.Renderers.myRenderer" />

hope this helps.

-Ravi


On Jul 2, 9:20 am, Andrey <[email protected]> wrote:
> Hi all!
> I have a problem with selected property of CheckBox using as item
> renderer for DataGrid
> It don't change selected property of CheckBox when I load data from
> remote xml file
> How can I change selected property via dataProvider from remote xml
> file?
>
> my source code,
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; width="500"
> height="600" xmlns:myComp="com.Managers.*"
> creationComplete="loadManagersList();">
> <mx:Script>
>         <![CDATA[
>                 import mx.collections.XMLListCollection;
>                 import mx.collections.ArrayCollection;
>                 import mx.events.CollectionEvent;
>                 import mx.rpc.events.FaultEvent;
>                 import mx.rpc.events.ResultEvent;
>                 import mx.controls.Alert;
>                 import mx.controls.CheckBox;
>
>                 [Bindable]
>                 private var managersCollection:XMLListCollection = new
> XMLListCollection();
>
>                 public function requestResultManagersListHandler
> (event:ResultEvent):void
>                 {
>                         managersCollection.source= event.result.manager as 
> XMLList;
>                 }
>
>                 public function requestFaultHandler(event:FaultEvent):void
>                 {
>                         Alert.show("err"+event.message.toString());
>                 }
>
>                 public function loadManagersList():void
>                 {
>                         userRequest.cancel();
>                         userRequest.addEventListener
> (ResultEvent.RESULT,requestResultManagersListHandler);
>                         userRequest.resultFormat = "e4x";
>                         userRequest.showBusyCursor = true;
>                         userRequest.url = "managers.xml?"+Math.random();
>                         userRequest.method = "GET";
>                         userRequest.send();
>                 }
>
>         ]]>
> </mx:Script>
> <mx:HTTPService id="userRequest" fault="requestFaultHandler(event);"/>
>         <mx:VBox left="0" right="0" top="0" bottom="0">
>                 <mx:VBox height="100%" width="100%">
>                         <mx:AdvancedDataGrid id="adgManagers" width="100%" 
> height="249"
> dataProvider="{managersCollection}"  editable="true">
>                                 <mx:columns>
>                                         <mx:AdvancedDataGridColumn 
> dataField="check"
> itemRenderer="mx.controls.CheckBox" rendererIsEditor="true"
> editorDataField="selected" />
>                                         <mx:AdvancedDataGridColumn 
> headerText="Column 1"
> dataField="name" />
>                                         <mx:AdvancedDataGridColumn 
> headerText="Column 2"
> dataField="family"/>
>                                         <mx:AdvancedDataGridColumn 
> headerText="Column 3"
> dataField="telephone"/>
>                                 </mx:columns>
>                         </mx:AdvancedDataGrid>
>         </mx:VBox>
> </mx:Canvas>
>
> XML file
> <?xml version="1.0" encoding="windows-1251" ?>
> <managers>
> <manager><name>name1</name><family>family1</family><telephone>1111</
> telephone><check>1</check></manager>
> <manager><name>name2</name><family>family2</family><telephone>2222</
> telephone><check>true</check></manager>
> <manager><name>name3</name><family>family3</family><telephone>3333</
> telephone><check>TRUE</check></manager>
> </managers>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to