2009-08-04 49 views
0

在我的项目中,我使用了一个选择所有按钮用于选择点击事件时的所有复选框。但是我使用了datagrid,checkbox中的项目渲染器,所以没有复选框的ID,那么如何选择/取消选择所有复选框?如何使用flex选择iteam渲染器数据网格中的所有复选框?

<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

首先,在的itemRenderer您的复选框的选中属性绑定到你的数据提供程序的项目为“check1”属性:

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

然后设置在dataProvider中的各个项目的“CHECK1”属性响应按钮点击。

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