ArrayCollection未通过Flex中的ItemRenderer(CheckBox)更新

时间:2011-12-06 13:08:25

标签: flex datagrid flex4.5 itemrenderer

我在更新最初填充数据网格的ArrayCollection时遇到问题。在我的例子中,数据提供者由TrueFalse组成String。这些来自我的数据库。我将datagrid的dataProvider设置为ArrayCollection,然后在datagrid的checkBox中渲染字段。显示时正确选中该复选框。但是如果我再次勾选/取消选中该复选框并尝试查看ArrayCollection,我会注意到ArrayCollection保持不变。我仍然得到旧的价值观。

有人可以指导我查看我的代码中缺少的内容吗?下面是我的数据网格的代码。

<mx:DataGrid id="myDataGrid" dataProvider="myArrayCollection" fontSize="9" enabled="true" x="20" y="20" width="217" height="60">
    <mx:columns>
        <mx:DataGridColumn rendererIsEditor="true" editorDataField="selected" width="20" headerText="MyField" dataField="MY_FIELD">
            <mx:itemRenderer>
                <fx:Component>
                    <mx:HBox horizontalAlign="left">
                        <s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" horizontalCenter="0"/>
                    </mx:HBox>
                </fx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>

1 个答案:

答案 0 :(得分:1)

尝试用以下方法替换CheckBox:

<s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" change="data.MY_FIELD = !data_MY_FIELD" horizontalCenter="0"/>

每当用户更改CheckBox的状态时,都应该翻转该值。