我在更新最初填充数据网格的ArrayCollection时遇到问题。在我的例子中,数据提供者由True
和False
组成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>
答案 0 :(得分:1)
尝试用以下方法替换CheckBox:
<s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" change="data.MY_FIELD = !data_MY_FIELD" horizontalCenter="0"/>
每当用户更改CheckBox的状态时,都应该翻转该值。