Hi,
   I have a method to resolve your problem.
1>the object has an attribute for indicating the state of the checkbox, such
as obj.selected.
   <mx:checkbox selected="{data.selected}"/>
 2>if user click the checkbox, you want to bind the state of checkbox, as
follow:
   <mx:checkbox selected="{data.selected}"  onclick="doChangeState(data)">

   function doChangeState(obj:Object):void{
     obj.selected = !obj.selected;
}

if you still have any question or issue, please send email to me.

Thanks!

2011/5/8 Abhilash Nagar <[email protected]>

> Hello,
> I think we can use something like changewatcher and than pass
> arraycollection which is bind.So whenever checkbox state is changed it will
> be updated.
>
> abhilash
>
> On Sat, May 7, 2011 at 5:51 PM, Sudhakar <[email protected]> wrote:
>
>> Hi all,
>>
>> I am creating a datagrid on th fly.
>> Datagrid is working fine.
>> i creating a chackbox item renderer and the check box is displaying in
>> the datagrid.
>>
>> My Problem:
>> **********************
>>   When change the state of checkbox i want to update the value in
>> bindable arraycollection. but it is not updating.
>>
>>  Please give me solution for how to update a value in bindable
>> dataArray:ArrayCollection when change the state of CheckBox from
>> CheckBox Itemrenderer.
>>
>>
>> My Code:
>> *************************
>>
>> [Bindable]
>> private var dataArray:ArrayCollection;
>>
>> // Retrieving data using JSON
>> private function
>> createDataGridUserAssignmentQuestions( event:ResultEvent ):void {
>>
>>
>>        var rawArray:Array;
>>        var rawData:String = String(event.result);
>>        rawArray = JSON.decode(rawData) as Array;
>>        dataArray = new ArrayCollection(rawArray);
>>
>>        creationCompleteHandler( event );
>> }
>>
>> // Creating DataGrid.
>> private function creationCompleteHandler( evt:ResultEvent ) : void
>> {
>>
>>        var columns:Array = new Array();
>>
>>        columns.push(getColumn("Completed", "Completed"));
>>        columns.push(getColumn("StudentName", "Student Name"));
>>
>>        var iQuestionIndex:int = 1;
>>        for(var i:int = 0; i < iTotalQuestions; i++)
>>        {
>>
>>                var columnTitle:String;
>>
>>                columnTitle = "Q" + (iQuestionIndex);
>>                iQuestionIndex++;
>>
>>                columns.push(getColumn("QuestionResponsesAnswerChosen" + i,
>> columnTitle ));
>>        }
>>
>>        var grid:DataGrid = new DataGrid();
>>
>>        grid.columns = columns;
>>        grid.percentWidth = 100;
>>        //grid.height = 215;
>>        grid.height = 215;
>>        grid.lockedColumnCount = 2;
>>        grid.editable = true;
>>        //grid.rowCount = dataArray.length;
>>        grid.horizontalScrollPolicy = ScrollPolicy.AUTO;
>>        grid.setStyle('horizontalScrollBarStyleName','customScroll');
>>        grid.setStyle('verticalScrollBarStyleName','customScroll');
>>
>>        grid.dataProvider = dataArray; //rows;
>>
>>        grid.addEventListener(ListEvent.ITEM_CLICK, onColumnSelect );
>>        grid.addEventListener(FlexEvent.CREATION_COMPLETE, getFirstQuestion
>> )
>>
>>        QuestionGridStage.addElement(grid);
>> }
>>
>> // Creating Colomuns
>> private function getColumn(dataField:String,
>> headerText:String):DataGridColumn
>> {
>>        var column:DataGridColumn = new DataGridColumn(dataField);
>>                column.headerText = headerText;
>>                column.draggable = false;
>>
>>                if(headerText == "Student Name"){
>>                        column.editable = false;
>>                        column.width = 150;
>>                } else if(headerText == "Completed"){
>>                        column.setStyle("textAlign","center");
>>                        column.editable = false;
>>                        column.width = 80;
>>                        column.itemRenderer = new
>> ClassFactory(checkBoxAssignment); // HERE
>> I NEED HELP
>>                }else {
>>                        column.setStyle("textAlign","center");
>>                        column.resizable = false;
>>                        column.width = 50;
>>                        column.itemRenderer = new
>> ClassFactory(GridColumnInputTextBoxRenderer);
>>                        column.rendererIsEditor = true;
>>                }
>>
>>        return column;
>> }
>>
>> // CheckBox Renderer
>> <?xml version="1.0" encoding="utf-8"?>
>> <mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml";
>> horizontalCenter="0" verticalCenter="0" >
>>        <mx:Script>
>>                <![CDATA[
>>                        import mx.controls.Alert;
>>                        import
>> mx.controls.dataGridClasses.DataGridListData;
>>
>>                        [Bindable] private var formattedValue:Boolean;
>>
>>                        override public function set
>> data(value:Object):void
>>                        {
>>                                super.data = value;
>>
>>                                formattedValue = data[(listData as
>> DataGridListData).dataField];
>>
>>                                this.selected = formattedValue;
>>                        }
>>
>>                        protected function changeValue(event:Event):void
>>                        {
>>
>>                                formattedValue = this.selected;
>>
>>                        }
>>
>>                ]]>
>>        </mx:Script>
>>
>> </mx:CheckBox>
>>
>>
>>
>> --
>> 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.
>>
>>
>  --
> 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.
>



-- 
Thanks!

O(∩_∩)O
--Try my best to do everything!--

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