DataGridコンポーネントのインラインでitemRendererカスタムコンポーネントがあります。チェックボックスがチェックされているかチェックされていない場合(itemRendererコンポーネント内の)Containingクラス(DataGridと同じレベル)にイベントを発生させる必要があります。どうすればいい?ItemRendererのチェックボックスがクリックされたときにイベントFireをクリックします。
<mx:DataGrid id="dg" width="100%" dataProvider="{dgProvider}" editable="true" itemClick="dg_itemClickHandler(event)">
<mx:columns>
<mx:DataGridColumn dataField="selected" width="100" headerText="Include:" textAlign="center" editable="true" editorDataField="cbSelected" rendererIsEditor="true">
<mx:itemRenderer>
<mx:Component>
<!-- We need this canvas because it centers the checkbox: -->
<mx:Canvas width="100" textAlign="center">
<mx:Script>
<![CDATA[
// Define a property for returning
// the new value to the cell.
[Bindable]
public var cbSelected:Boolean;
protected function selectedCheckbox_clickHandler(event:MouseEvent):void
{
cbSelected = selectedCheckbox.selected;
}
]]>
</mx:Script>
<mx:CheckBox
id="selectedCheckbox"
selected="{data.selected}"
horizontalCenter="0"
click="selectedCheckbox_clickHandler(event)" />
</mx:Canvas>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>