以下用一個 DataGrid 的範例,其中有一個 DataGridColumn 中會運用一個 itemRenderer
並表示一個 CheckBox 元件 如下所示
<mx:DataGridColumn dataField="gift_id" headerText="選擇" textAlign="center">
<mx:itemRenderer>
<mx:Component>
<mx:HBox>
<mx:CheckBox
/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
這時候 CheckBox 這個原件所存在的 Component 就並非 DataGrid 元件的Component
如果要做到當 CheckBox 被選擇時,要將被選擇的物件加入到一個集合(ArrayCollection)
就可以稍為運用一下 outerDocument,如下所示:
<mx:CheckBox click="outerDocument.handleClick(event);"/>
這時候父頁面就需要提供一個 handleClick 的 function
public function handleClick(event:Event):void
{
if(event.target.selected == true){
selGiftTemp.addItem(dg.selectedItem);
}else{
var index:int = selGiftTemp.getItemIndex(dg.selectedItem);
selGiftTemp.removeItemAt(index);
}
}
沒有留言:
張貼留言