Поскольку itemRenderers можно перерабатывать при прокрутке DataGrid, вы должны связать значение флажка со значением в вашем dataProvider. Затем вы можете перебрать ArrayCollection и получить все строки, где Selected==true
Мой объект данных:
package
{
[Bindable]
public class MyData
{
private var _name:String;
private var _selected:Boolean;
public function get Name():String { return _name; }
public function set Name(value:String):void { _name = value; }
public function get Selected():Boolean { return _selected; }
public function set Selected(value:Boolean):void { _selected = value; }
}
}
Моя Сетка Данных:
<mx:DataGrid dataProvider="{myArrayCollectionOfMyDataObjects}">
<mx:columns>
<mx:DataGridColumn headerText="Name" dataField="Name"/>
<mx:DataGridColumn headerText="Selected" dataField="Selected">
<mx:itemRenderer>
<fx:Component>
<mx:VBox width="100%" height="100%" paddingLeft="2" verticalAlign="middle" horizontalAlign="center" horizontalScrollPolicy="off">
<mx:CheckBox id="chkSelected" change="{data.Selected = chkSelected.selected}" selected="{data.Selected}" />
</mx:VBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>