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列表和数据网格,当然这里没有显示)
答案 0 :(得分:2)
如果_data.Meals
的运行时类型是数组,则_data.Meals as ArrayCollection
将失败。但是,new ArrayCollection(_data.Meals as Array)
会正常工作。
<强> CMIIW 强> 我想你的问题是你不能将单个对象用作2个或更多不同的ui dataprovider。
尝试使用
MealDataGrid.dataProvider = _data.Meals;
MealListView.dataProvider = ObjectUtils.clone(_data.Meals);
<强>更新强>
抱歉,我想念了,我虽然是ArrayColletion。但你需要做的就像ArrayCollection一样