2009-08-04 67 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; 
}