Вы можете попробовать:
<s:CheckBox label="" click="Check_Click(event)" selected="@{data.access}" horizontalCenter="0"/>
public function Check_Click(event:MouseEvent):void{
var cb:Checkbox = event.target as CheckBox
trace(cb.selected);
}
Заголовок сообщения задавал немного другой вопрос "Как получить ценность Itemrenderer". Получите доступ к свойству данных в рендере, как вы делаете это с {data.access}.
Для доступа к нему извне:
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import spark.components.gridClasses.IGridItemRenderer;
private function onGridInitialize(event:FlexEvent):void
{
this.addEventListener('moduleItemChange', onModuleItemChange);
}
private function onModuleItemChange(event:Event):void
{
var item:IGridItemRenderer = event.target as IGridItemRenderer;
if(!item || !item.data) { /* deal with this */ }
trace(item.data.access);
}
]]>
</fx:Script>
<s:DataGrid id="myGrid" rowHeight="35" fontSize="9"
x="20" y="20" width="184" height="306"
initialize="onGridInitialize(event)">
<s:dataProvider>
<s:ArrayList>
<fx:Object access="true"/>
<fx:Object access="false"/>
<fx:Object access="false"/>
<fx:Object access="true"/>
<fx:Object access="true"/>
</s:ArrayList>
</s:dataProvider>
<s:columns>
<s:ArrayList>
<s:GridColumn headerText="Access" dataField="access">
<s:itemRenderer>
<fx:Component>
<s:GridItemRenderer>
<fx:Script>
<![CDATA[
private function Check_Click(even:MouseEvent):void
{
dispatchEvent(new Event('moduleItemChange', true));
}
]]>
</fx:Script>
<s:CheckBox label="" click="Check_Click(event)" selected="@{data.access}" horizontalCenter="0"/>
</s:GridItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>