将dataprovider DataGrid绑定到数组

时间:2009-04-09 14:33:38

标签: flex binding

如何将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; }
    ...

1 个答案:

答案 0 :(得分:3)

请改用ArrayCollectionArray不具备约束力。 IIRC,这在Binding to functions Objects and Arrays的Flex 3帮助中有记录:

  

注意:在定义使用数组作为数据绑定表达式源的数据绑定表达式时,该数组应为ArrayCollection类型,因为ArrayCollection类当数组或数组元素更改为触发数据绑定时调度事件。例如,对ArrayCollection.addItem()ArrayCollection.addItemAt()ArrayCollection.removeItem()ArrayCollection.removeItemAt()的调用都会触发数据绑定。