0

totalprice を計算する関数を作成しましたが、機能していないようです。この関数は、計算できるようにしたい2つのデータフィールドを使用して、配列コレクションから2つのデータフィールドを取得するように作成されています。

        [Bindable]public var total:Number=0;
        private function gridClickEvent(event:ListEvent):void {             
            var quantity:Number=acCart[event.columnIndex].quantity;
            var price:Number=acCart[event.columnIndex].price;
            total += quantity * price;

        }

計算された合計はラベルに表示されます

<s:Label id="prijs" text="{total}" />

私が欲しいのは、合計価格を計算することです。3 つのフィールドデータ (製品名、数量、価格) を持つ配列コレクションがあります。関数では、データ「数量」とデータ「価格」を配列コレクションから取り出して、「合計価格」を計算したいと考えています。

現時点では、私が書いた関数は機能していません。データを受け取りません。

4

3 に答える 3

2

デバッグを行います。

private function gridClickEvent(event:ListEvent):void {

    //see if getting expected values 
    trace(event.rowIndex);
    trace(acCart[event.rowIndex].quantity);
    trace(acCart[event.rowIndex].price);

    var quantity:Number=parseFloat(acCart[event.rowIndex].quantity);
    var price:Number=parseFloat(acCart[event.rowIndex].price);
    total += quantity * price;
}
于 2012-12-23T17:44:08.733 に答える
2

そうでtotal+=はありませんtotal=+。演算子に構文エラーがあります。

于 2012-12-23T17:07:23.900 に答える
0

なぜだけではないのですか

private function gridClickEvent(event:ListEvent):void {
    .... // your math here

    trace("old total = "+ total);
    total += quantity * price;
    trace("new total = "+ total);

    // forget about binding and manually set the property
    prijs.text = total.toString();
}

フレックスではバインドがおかしい場合があり、バインドのメカニズムを完全に理解している場合でも、バインドが機能していないか、値が 1 回ではなく N 回設定されている可能性があります (複数の MVC フレームワークが存在する場合)。 )。

このため、私は束縛が嫌いであり、それを使用することを控えめにしています。

PS: トレース出力はどうなりますか? (コンソール出力を取得するには、実行ではなく「デバッグ」してください)

于 2013-05-01T18:00:49.600 に答える