2009-04-09 1 views
1

Как вы связываете dataprovider DataGrid в Flex с массивом?Связать dataprovider 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 s не обеспечивают хорошую привязку. IIRC, это описано в помощи Flex 3 на Binding to functions Objects and Arrays:

Примечание: При определении выражения привязки данных, которая использует массив в качестве источника выражения связывания данных, массив должен быть типа ArrayCollection, потому что класс ArrayCollection отправляет событие, когда массив или элементы массива изменяются для активации привязки данных. Например, вызов ArrayCollection.addItem(), ArrayCollection.addItemAt(), ArrayCollection.removeItem() и ArrayCollection.removeItemAt() все связывание данных триггера.