Well your itemrender can be coded as so:

<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml";
 paddingLeft="10">

    <mx:Script>
        <![CDATA[
            import mx.controls.DataGrid;
            import mx.events.DataGridEvent;
            import mx.utils.ObjectUtil;
            import mx.utils.UIDUtil;
            import mx.events.FlexEvent;
            import mx.collections.ICollectionView;
            import mx.controls.dataGridClasses.DataGridListData;

            private var _ownerData:Object;
            private var _text:String;

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

                if(_ownerData)
                {
                    var col:DataGridListData = DataGridListData(listData);
                    selected = (_ownerData[col.dataField] == "on") ? true :
false;
                    enabled = (_ownerData["request"] == "Yes") ? false :
true;
                    updateDummyText();
                    dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
                }
            }

            override public function get data():Object
            {
                return _ownerData;
            }

            public function set text(value:String):void
            {
            }

            public function get text():String
            {
                return _text;
            }


            override protected function clickHandler(event:MouseEvent):void
            {
                super.clickHandler(event);

                var col:DataGridListData = DataGridListData(listData);

                _ownerData[col.dataField] = selected ? "on" : "off";
                _ownerData["request"] = "Yes";
                // If rendererIsEditor is true,
                // change event of collection doesn't happen by this event
                var toggleEvent:Event = new Event("stateChange");
                owner.dispatchEvent(toggleEvent);

                updateDummyText();
            }

            private function updateDummyText():void
            {
                if(selected){
                    _text = "on";
                }else{
                    _text = "off";
                }
            }

        ]]>
    </mx:Script>


and accessed in your datagrid column like so:


<mx:DataGridColumn
headerText="State"
dataField="value"
width="50"
  editable="true"
  resizable="false"
  itemRenderer="StateEditor"
  rendererIsEditor="true"/>

  -----Original Message-----
  From: [email protected] [mailto:[email protected]]on
Behalf Of b.kotireddy
  Sent: Wednesday, 11 February 2009 12:31 p.m.
  To: [email protected]
  Subject: [flexcoders] How to disable a checkbox in a Datagrid Column


  Hi guys,

  I have a check box for each record in Datagrid Column. I used the
  itemRenderer to create checkbox. I want to disable that column or
  checkbox in that column when my user does not have permission to
  uncheck or check that checkbox.

  Please help me to do this.

  Thanks in advance
  koti



  

Reply via email to