flex选择/取消选择datagrid中的所有复选框

时间:2011-05-03 06:49:01

标签: flex datagrid


我使用下面的代码来选择/取消选择datagrid中的所有复选框

<mx:DataGridColumn id="testColumn" width="20" sortable="false">
<mx:headerRenderer>
    <fx:Component>
        <mx:Canvas>
        <fx:Script>
            <![CDATA[
                protected function checkAll_clickHandle(event:MouseEvent):void
                    {

                    }   
                ]]>
        </fx:Script>

            <s:CheckBox id="checkAll" horizontalCenter="0" selected="false" click="checkAll_clickHandler(event)"/>
        </mx:Canvas>
    </fx:Component>
</mx:headerRenderer>        
<mx:itemRenderer>
    <fx:Component>
        <mx:Canvas width="100%" height="100%">
        <fx:Script>
            <![CDATA[
                protected function check_clickHandler(event:MouseEvent):void
                    {
                data.isSelected = (event.currentTarget as CheckBox).selected;
                    if(data.isSelected == false)
                        {

                        }
                    }   
                ]]>
        </fx:Script>
            <s:CheckBox id="check" horizontalCenter="0" selected="{data.isSelected}" click="check_clickHandler(event)">
            </s:CheckBox>
        </mx:Canvas>
    </fx:Component>
</mx:itemRenderer>

我想在取消选中任何行复选框时取消选中 checkAll 复选框, 我正在尝试访问 checkAll 的值 check_clickHandler(),但我没有得到它的价值。
我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以从项呈示器发送带有冒泡的自定义事件,并在组件中处理它。然后,您可以迭代数据提供程序或使用其他算法来确定数据网格中是否存在未选中的复选框(data.isSelected)。