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
-~----------~----~----~----~------~----~------~--~---