Проблема преобразования Array в Arraylist для dataProvider - PullRequest
0 голосов
/ 07 апреля 2011
private var MealsListResult:ArrayList = new ArrayList;
protected var _data:resultData = new resultData;

private function resultHandler():void
    {   
    var Meals:Array = _data.Meals;
    MealsListResult = _data.Meals as ArrayList;
    MealDataGrid.dataProvider = Meals;
    MealListView.dataProvider = MealsListResult;
    }

Должно ли это работать? MealDataGrid заполняется на основе массива, но я отлаживаю, а MealsListResult имеет значение null. но _data.Meals нет, и я не знаю, если я пропускаю что-то простое.

Я могу заставить его работать, выполнив это как: var MealsListResult2:ArrayList = new ArrayList(Meals);, но мне кажется, что первый метод должен также работать!

(есть список mxml и таблица данных, и, конечно, здесь они не показаны)

1 Ответ

2 голосов
/ 07 апреля 2011

, если _data.Meals является его типом времени выполнения, является массивом, то _data.Meals as ArrayCollection не удастся. но new ArrayCollection(_data.Meals as Array) будет работать нормально.

CMIIW Я полагаю, ваша проблема в том, что вы не можете использовать один объект в качестве двух или более разных поставщиков данных интерфейса пользователя.

попробуйте использовать

MealDataGrid.dataProvider = _data.Meals;
MealListView.dataProvider = ObjectUtils.clone(_data.Meals);

UPDATE:

извините, я скучаю по прочитанному, хотя это был ArrayColletion. но все, что вам нужно сделать, это то же самое, что ArrayCollection

...