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がnullです。しかし、_data.Mealsはそうではなく、単純なものが欠けているかどうかはわかりません。

私はそれを次のように行うことで機能させることができます:しかし、最初の方法も機能するはずだvar MealsListResult2:ArrayList = new ArrayList(Meals);と感じています!

(もちろん、mxmlリストやdatagridなどはここには表示されていません)

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 に答える