如何使用flex选择iteam渲染器数据网格中的所有复选框?

时间:2009-08-04 10:24:02

标签: flex web-applications air flash

在我的项目中,我在点击事件中使用了一个全选按钮来全选复选框。但我在复选框中使用了datagrid,item renderer,因此没有复选框的id,那么如何选择/取消选中所有复选框?

<mx:DataGrid id=newdatagrid>
<mx:columns>

<mx:DataGridColumn headerText="1"  rendererIsEditor="true" editorDataField="selected">
                                <mx:itemRenderer>
                                    <mx:Component>
<mx:CheckBox click="{data.check1 = (data.check1 != 'true') ? 'true' : 'false'};outerDocument.toggleCheckbox(data);outerDocument.calcValues();" dataChange="this.selected=outerDocument.validateCheckbox(data)"/>
                    </mx:Component>
                                            </mx:itemRenderer>
                                </mx:DataGridColumn>

                    </mx:columns>
                </mx:DataGrid>

如何为复选框实现选择/取消选择所有按钮?

1 个答案:

答案 0 :(得分:1)

首先,将itemrenderer中复选框的selected属性绑定到dataprovider项的“check1”属性:

<mx:CheckBox selected="{data.check1}"/>

然后设置数据提供者中每个项目的“check1”属性以响应按钮单击。

for each (var item:Object in dataProvider) {
  item.check1 = true; // or false;
}