将复选框添加到advancedDataGrid

时间:2013-07-11 02:11:56

标签: actionscript-3 flex checkbox mxml advanceddatagrid

我获得了一个AdvancedDataGrid,需要帮助在前面添加一列复选框。代码类似于此,虽然样式和额外的功能已被剥离。不要以为实习生应该在线发布公司代码。

<mx: AdvancedDataGrid>
    <mx:columns>
      <mx: AdvancedDataGridColumn dataField = "something1" headerText="1"/>
      <mx: AdvancedDataGridColumn dataField = "something2" headerText="2"/>
      <mx: AdvancedDataGridColumn dataField = "something3" headerText="3"/>
      <mx: AdvancedDataGridColumn dataField = "something4" headerText="4"/>
      <mx: AdvancedDataGridColumn dataField = "something5" headerText="5"/>
      <mx: AdvancedDataGridColumn dataField = "something6" headerText="6"/>
    </mx: columns>
</mx: AdvancedDataGrid>

我想在第一列前面添加一列复选框。虽然不完全确定如何做到这一点。我发现了一个在线示例(找到链接将在ASAP上发布),它创建了渲染标题的类(需要标题才能全部选择并取消选择全部)和复选框,但无论我做什么都没有工作。任何人都有任何想法,或者可以指出我做一个很好的例子。任何有详细解释的内容都将不胜感激。

1 个答案:

答案 0 :(得分:0)

在MXML部分

<mx:DataGridColumn textAlign="center" width="25">
    <mx:headerRenderer>
        <fx:Component>
            <mx:CheckBox change="{outerDocument.fnChangeAll(chkAll)}" id="chkAll" selected="{data.flRead}" />
        </fx:Component>
    </mx:headerRenderer>
</mx:DataGridColumn>

在ActionScript代码中

public function fnChangeAll(chk:Object):void
{   
    var check:CheckBox= chk as CheckBox;
    for each (var curr:ObjectOfDataProvider in listObject) {
        curr.flRead=check.selected;
    }
}

(与AdvancedDataGrid相同)

总结:您必须添加一个链接在列上的headerRenderer,因此您可以编写一个关于标题行为的函数。

告诉我它是否正常