如何将Flex中的DataGrid的数据提供器绑定到数组?
这似乎不起作用:
<mx:DataGrid
id="valuesDataGrid"
editable="true"
width="100%"
height="100%"
dataProvider="{_metaDataKey.values}">
...
[Bindable]
public class EnumMetaDataKey{
private var _values:Array = [];
public function get values():Array { return _values; }
public function set values(value:Array):void { _values = value; }
...
答案 0 :(得分:3)
请改用ArrayCollection
。 Array
不具备约束力。 IIRC,这在Binding to functions Objects and Arrays的Flex 3帮助中有记录:
注意:在定义使用数组作为数据绑定表达式源的数据绑定表达式时,该数组应为
ArrayCollection
类型,因为ArrayCollection
类当数组或数组元素更改为触发数据绑定时调度事件。例如,对ArrayCollection.addItem()
,ArrayCollection.addItemAt()
,ArrayCollection.removeItem()
和ArrayCollection.removeItemAt()
的调用都会触发数据绑定。