我有一个包含5列的数据网格。第一列有复选框,其余四列有dataProvider的数据。
我有两个相关的问题: 第一:我希望在单击复选框时选中该行,或者如果我单击多个复选框,则每行应在数据网格中保持选中状态,其中选中了复选框。
第二:如果选择了一行或多行,则也应选中相应的复选框。
我的代码如下:
<mx:DataGrid id="dg_trashContent" allowMultipleSelection="true"
verticalGridLines="true"
dataProvider="{trashDataProvider}"
width="100%"
height="100%"
fontFamily="Arial">
<mx:columns>
<mx:DataGridColumn id="col0"
textAlign="left"
sortable="false"
headerText="Name"
headerStyleName="datagridHeader"
dataField="name">
<mx:itemRenderer>
<mx:Component>
<mx:VBox horizontalAlign="center">
<mx:Script source="base.as"/>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
public function selectRow():void{
}
]]>
</mx:Script>
<mx:CheckBox id="rowCheckBox" click="selectRow();"/>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn id="col1"
textAlign="left"
sortable="false"
headerText="Name"
headerStyleName="datagridHeader"
dataField="name"/>
<mx:DataGridColumn id="col2"
textAlign="left"
sortable="false"
headerText="Original Location"
headerStyleName="datagridHeader"
dataField="absoluteTag"/>
<mx:DataGridColumn id="col4"
textAlign="left"
sortable="false"
headerText="Date Deleted"
headerStyleName="datagridHeader"
dataField="date"/>
<mx:DataGridColumn id="col5"
textAlign="right"
sortable="false"
headerText="Size (mb)"
headerStyleName="datagridHeader"
dataField="size"/>
</mx:columns>
</mx:DataGrid>
我一直想弄清楚我该怎么做呢。但无法得到任何解决方案。有人可以帮我。
此致 Zeeshan
答案 0 :(得分:0)
我会尝试两件事(如果你还没试过的话):
希望这有帮助。
答案 1 :(得分:0)
您需要为复选框编写自定义项呈示器,并通过扩展它来修改DataGrid的代码并覆盖某些方法,如selectItem()
请参阅:http://cookbooks.adobe.com/post_Datagrid_headerRenderer_checkbox_to_select_checkbo-7262.html