Hello Flash Community,
I need some help with loading the users selection into my Data Grid. I currently have 2 numeric stepper components on the stage where the user selects their quantity. When the user selects the checkout button a data grid is displayed however I get an underfined error for the contect. Please help I have searched various forms and tutorials but none that shows how to load the user data dynamically. I have attached my .as file my .fla file exceeds the limit for upload. Thanks in advance!
import mx.controls.*;
import fl.controls.dataGridClasses.*;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
class Cart2 {
var CartCalc:String;
var quantity:NumericStepper;
var Product:Number;
var Product2:Number;
var mynum:String;
var CartTotal:Number = 0;
var CartTotal2:Number = 0;
var CalcMe:Number;
var Total:Number = 0;
var MyArray:Array;
var GiftCardsText:String;
var PostersText:String;
var m_parent_mc:MovieClip;
var cart_dg:DataGrid;
//var quantity:Number;
var quantity2:NumericStepper;
var myArr:Array;
var myArr2:Array;
var cart:DataGrid;
var CalculateValue:Number;
public function GetUserSelection() {
quantity = _level0.TESTMC.myvalue.value;
//trace("Quantity in AS"+ _level0.TESTMC.myvalue.value);
Product = 5.00;
CalculateValue = (Product*quantity*100)/100;
myArr = ["Gift Cards", "5.00", quantity, CalculateValue];
//trace(myArr);
drawCartTotal(CalculateValue);
}
public function GetU() {
quantity2 = _level0.TESTMC.myvalue2.value;
//trace("Get U" + quantity2);
//trace("Quantity AS"+ _level0.TESTMC.myvalue2.value);
Product2 = 10.00;
CalcMe = (Product2*quantity2*100)/100;
myArr2= ["Post Cards", "10.00", quantity2, CalcMe];
myArr2.push(cart);
//trace(myArr2);
drawCartTotal(CalcMe);
}
function drawCartTotal(MyTotal:Number) {
Total += MyTotal;
_level0.CartTotal = String(Total);
_level0.CartTotal.indexOf(".") == -1 ? _level0.CartTotal += ".00" : _level0.CartTotal += "0";
}
public function CheckOut() {
var thisCart:Cart2 = this;
// dynamically add a DataGrid to the Stage and give it an instance name of "cart_dg".
cart = _level0.createClassObject(mx.controls.DataGrid, "cart_dg", 0);
cart.columnNames = ["quantity", "name", "price"];
cart.setSize(400, 120);
var quantity_dgc = cart.getColumnAt(0);
quantity_dgc.width = 60;
quantity_dgc.headerText = "Quantity";
//trace(quantity);
cart.addItem({Quantity:quantity});
var myDP = new Array();
myDP.addItem({ProductName:Product, Quantity:quantity, Price:CalculateValue});
/* Assign the data provider to the DataGrid to populate it. Note: This has to be done before applying the cellRenderers. */
cart.dataProvider = myDP;
var name_dgc = cart.getColumnAt(1);
name_dgc.width = 180;
name_dgc.headerText = "Product Name";
cart.addItem({ProductName:Product});
name_dgc.labelFunction = function(item:Object) {
if (item != undefined) {
return item.name;
}
};
var price_dgc = cart.getColumnAt(2);
price_dgc.width = 70;
price_dgc.headerText = "Price";
price_dgc.labelFunction = function(item:Object) {
if (item != undefined) {
return "$"+item.price;
}
};
cart.move(5, 270);
//trace("CheckOut" + quantity2);
}
}