0
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 为空。但是 _data.Meals 不是,我不知道我是否遗漏了一些简单的东西。

我可以通过这样做来让它工作:var MealsListResult2:ArrayList = new ArrayList(Meals);但我觉得第一种方法也应该工作!

(有 mxml 列表和数据网格,当然这里没有显示)

4

1 回答 1

2

如果_data.Meals它的运行时类型是一个数组,那么_data.Meals as ArrayCollection将失败。但是,new ArrayCollection(_data.Meals as Array)会正常工作。

CMIIW 我猜您的问题是您不能将单个对象用作 2 个或更多不同的 ui 数据提供者。

尝试使用

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

更新:

对不起,我错过了阅读,虽然它是 ArrayColletion。但你需要做的就是和 ArrayCollection 一样

于 2011-04-07T04:25:48.337 回答