0

Flex 3 で配列を作成するときに関数を呼び出すことはできますか?

public function gridBuilder(myArray:Array):void {
            var i:uint; 
            for (i=0; i<myArray.length; i++){

            dGArray = [
                {Name: myArray[i].name, Type: 'A:', Score: myArray[i].score, Rank: myArray[i].rank, Grade:(myFunction(myArray[i].rank, myArray[i].max_rank))},
                {Name: myArray[i].name, Type: 'B:', Score: myArray[i].score, Rank: myArray[i].rank }
                                    ]   

                    }

                      dgAC = new ArrayCollection(dGArray);

                }

MyArray は、データベースへのリモート呼び出しの結果です。次に、dataGrid で使用する配列を準備します。また、成績を提供する関数を呼び出したいと思います。残念ながら、私の関数は 1 回しか呼び出されないようです。配列を作成しているときに関数を呼び出すことはできますか? 「Grade:」ビットを参照してください。どうしたの?この問題を解決するにはどうすればよいですか?

ありがとうございました!

-ラクシュミディ

4

1 に答える 1

0

あなたの関数は一度だけ呼び出されたと述べました。ただし、コードでは、明示的に一度だけ呼び出しています。問題が表示されません。ActionScript では、関数の戻り値から属性値を取得できるオブジェクトの配列を作成できます。

編集これを行うには、コードを変更します。

public function gridBuilder(myArray:Array):void {
    var i:uint; 
    var dGArray:Array = [];

    for (i=0; i<myArray.length; i++) {
        dgArray.push({Name: myArray[i].name,
                      Type: 'A:',
                      Score: myArray[i].score,
                      Rank: myArray[i].rank,
                      Grade:myFunction(myArray[i].rank,myArray[i].max_rank)});
        dgArray.push({Name: myArray[i].name,
                      Type: 'B:',
                      Score: myArray[i].score,
                      Rank: myArray[i].rank});
    }
    dgAC = new ArrayCollection(dGArray);
}

dGArray元のコードの問題は、反復ごとにリセットし続けたことです。

于 2010-08-17T02:26:19.700 に答える