I have implemented like below.....The below lines of code is my one of the
column in datagrid.
<mx:DataGridColumn headerText="Print" dataField="displayPrintFlag"
rendererIsEditor="true" textAlign="center">
<mx:itemRenderer >
<mx:Component>
<mx:CheckBox click="data.displayPrintFlag=
!data.displayPrintFlag" selected="{data.displayPrintFlag}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
________________________________
From: Mark Easton <[email protected]>
To: [email protected]
Sent: Tuesday, February 10, 2009 4:37:06 PM
Subject: RE: [flexcoders] How to disable a checkbox in a Datagrid Column
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.DataGridE vent;
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:DataGridListDat a =
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:DataGridListDat a =
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: flexcod...@yahoogro ups.com [mailto:flexcoders@ yahoogroups. com]On
Behalf Of b.kotireddy
Sent: Wednesday, 11 February 2009 12:31 p.m.
To: flexcod...@yahoogro ups.com
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