如何在DataGrid中显示checkBox itemRenderer的标签

时间:2012-09-19 09:37:48

标签: datagrid checkbox flex4.5 itemrenderer datagridcolumn

我的datagrid的dataProvider是一个包含2列的arrayCollection。 arrayCollection的第一列包含true或false(以便选中复选框),另一列包含标记,这意味着arraycollection不包含要在每个复选框上显示的实际字符串。需要使用的标记将从XML文件中获取标签。所以标签将来自XML文件。

XML文件是这样的:

<tags>
 <tags1>CheckBox Label 1</tags1>
 <tags2>CheckBox Label 2</tags2>
 <tags3>CheckBox Label 3</tags3>
</tags>

因此我相信我需要在DatagridColumn上使用'labelFunction'属性。这是否可以使用,以便我可以在datagrid中的每个checkBox上显示标签?

我的数据网格的代码是这样的:

<mx:DataGrid id="myGrid" dataProvider ="myDP" showHeaders="false" headerHeight="0">
                    <mx:columns>

                        <mx:DataGridColumn headerText="" dataField="IS_ACCESSIBLE">
                            <mx:itemRenderer>
                                <fx:Component>
                                    <mx:HBox horizontalAlign="left">
                                        <s:CheckBox id="mycheckBox"/>
                                    </mx:HBox>
                                </fx:Component>
                            </mx:itemRenderer>
                        </mx:DataGridColumn>

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

任何人都可以帮我解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

我已经能够设置复选框的label属性:

label =“{outerDocument.myXML.tags [data.tags]}”

使用[]和“data.tags”实际上来自datagrid的dataProvider解决了这个问题。这使变量的最后一部分变为动态。