2009-04-09 4 views
1

FlexのDataGridのデータプロバイダを配列にどのようにバインドしますか?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

ここから_metaDataKeyを取得していますか?その変数はどのように見えますか?現在の実装ではどのようなエラーが発生していますか?より多くの情報を提供できますか? – DyreSchlock

答えて

3

ではなくArrayCollectionを使用してください。 Arrayはバインディングにうまく対応していません。 IIRCは、これはBinding to functions Objects and ArraysにFlex 3のヘルプに記載されている:

注:データバインディング式のソースとして配列を使用するデータバインディング式を定義する場合、配列はタイプArrayCollectionためのなければなりませんArrayCollectionクラスは、配列または配列要素がデータバインディングをトリガするために変更されたときにイベントを送出します。たとえば、ArrayCollection.addItem()ArrayCollection.addItemAt()ArrayCollection.removeItem()、およびArrayCollection.removeItemAt()を呼び出すと、すべてデータがトリガーされます。

関連する問題