01.
import mx.controls.Alert;
02.
import mx.formatters.CurrencyFormatter;
03.
04.
public function form_complete():void
05.
{
06.
prepareCalculationBindings();
07.
}
08.
private var UnitPrices:ArrayCollection;
09.
private var Quantitys:ArrayCollection;
10.
private var Amounts:ArrayCollection;
11.
private var Total:TextInput;
12.
private var DiscountPercent:TextInput;
13.
private var Discount:TextInput;
14.
private var AfterDiscount:TextInput;
15.
private var Vat:TextInput;
16.
private var GrandTotal:TextInput;
17.
18.
private function prepareCalculationBindings():void
19.
{
20.
UnitPrices = getElementsByName(
"UnitPrice"
);
21.
Quantitys = getElementsByName(
"Quantity"
);
22.
Amounts = getElementsByName(
"Amount"
);
23.
Total = getElementsByName(
"Total"
)[0];
24.
DiscountPercent = getElementsByName(
"DiscountPercent"
)[0];
25.
Discount = getElementsByName(
"Discount"
)[0];
26.
AfterDiscount = getElementsByName(
"AfterDiscount"
)[0];
27.
Vat = getElementsByName(
"Vat"
)[0];
28.
GrandTotal = getElementsByName(
"GrandTotal"
)[0];
29.
30.
var cf:CurrencyFormatter = new CurrencyFormatter();
31.
cf.precision = 2;
32.
cf.currencySymbol =
""
;
33.
cf.useThousandsSeparator = true;
34.
35.
for(var i:int=0; i<UnitPrices.length; i++)
36.
viewer.createMultiplyBinding(UnitPrices[i],
"text"
,Quantitys[i],
"text"
,Amounts[i],
"text"
,1,cf)
37.
38.
viewer.createSummationBinding(Amounts.toArray(),
"text"
,Total,
"text"
,1,cf);
39.
40.
viewer.createMultiplyBinding(DiscountPercent,
"text"
,Total,
"text"
,Discount,
"text"
,1/100,cf);
41.
42.
viewer.createSubtractBinding(Total,
"text"
,Discount,
"text"
,AfterDiscount,
"text"
,cf);
43.
44.
viewer.createBasicNumberBinding(AfterDiscount,
"text"
,Vat,
"text"
,7/100,cf);
45.
46.
viewer.createAdditionBinding(AfterDiscount,
"text"
,Vat,
"text"
,GrandTotal,
"text"
,cf);
47.
}