Hello Community,
I am in search of finding a way to display shopping cart items in a flash 8 datagrid in the order it was chosen by the user & also to ability to delete an item if the user choses. Currently I have the items displaying however they are displaying in a position as it is stored and called in the array.
Ex:
//Create a dataProvider to add some data to the Datagrid
data_array = new Array();
data_array.push(myArr, myArr2, myArr3);
cart.dataProvider = data_array;
As far as deleting an item I have found this snippet of code on the forums but it will not delete the item.
// Create listener object for DataGrid to remove selected item.
var listener_obj:Object = new Object();
listener_obj.headerRelease = function(evt_obj:Object) {
cart.dataProvider.removeItemAt(cart.selectedIndex)
Any help is greatly appreciated. See below for complete coding. Thank you in advance!
import mx.controls.*;
import fl.controls.dataGridClasses.*;
//import mx.controls.gridclasses.DataGridColumn;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import mx.data.binding.*;
//mx.accessibility.DataGridAccImpl.enableAccessibility();
import fl.controls.ScrollPolicy;
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 myArr:Object;
var myArr2:Object;
var myArr3:Object;
var m_parent_mc:MovieClip;
var GiftCardsText:String;
var PostersText:String;
var cart:DataGrid;
var cart_dg:DataGrid;
var data_array= new Array();
var count:Number;
//Gift Card Item
public function GetUserSelection() {
var quantity = _level0.TESTMC.myvalue.value;
Product = 5.20;
var CalculateValue = (Product*quantity*100)/100;
var num_str2:String = String(CalculateValue);
_global.myArr = new Array();
myArr = {Quantity: quantity, Product: "Gift Cards", Price: "5.00", Total: CalculateValue};
for (var i:Number = 0; i < myArr.length; i++) {
var Quantity:String = myArr*[0];
var Productname:String = myArr*[1];
var Price:String = myArr*[2];
var Total:String = myArr*[3];
}
//trace("CalcValue"+ CalculateValue);
drawCartTotal(CalculateValue);
}
// Post Card Item
public function GetU() {
var quantity = _level0.TESTMC.myvalue2.value;
Product2 = 10.00;
CalcMe = (Product2*quantity*100)/100;
_global.myArr2 = new Array();
myArr2 = {Quantity: quantity, Product: "Post Cards", Price: "10.00", Total:CalcMe};
//trace(myArr2);
drawCartTotal(CalcMe);
for (var i:Number = 0; i < myArr2.length; i++) {
var Quantity:String = myArr2*[0];
var Productname:String = myArr2*[1];
var Price:String = myArr2*[2];
var Total:String = myArr2*[3];
//trace("For Loop 2" + myArr2);
}
//trace("CalcMe"+ CalcMe);
}
public function GetCandyValue() {
var quantity = _level0.TESTMC.CandyStepper.value;
//trace(quantity);
Product = 1.00;
var CandyValue = (Product*quantity*100)/100;
//var num_str2:String = String(CandyValue);
_global.myArr3 = new Array();
myArr3= {Quantity: quantity, Product: "Gift Cards", Price: "5.00", Total: CandyValue};
for (var i:Number = 0; i < myArr3.length; i++) {
var Quantity:String = myArr3*[0];
var Productname:String = myArr3*[1];
var Price:String = myArr3*[2];
var Total:String = myArr3*[3];
}
//trace("CandyValue"+ CandyValue);
drawCartTotal(CandyValue);
}
//Calculates Total Price
function drawCartTotal(MyTotal:Number) {
Total += MyTotal;
_level0.CartTotal = String(Total);
_level0.CartTotal.indexOf(".") == -1 ? _level0.CartTotal += ".00" : _level0.CartTotal += "0";
}
//Check Out function to display Datagrid with user selections
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);
var src:EndPoint = new EndPoint();
src.component = cart_dg;
src.property = "value";
src.event = "change";
//trace (cart_dg);
//Set up Columns
cart.columnNames = ["Quantity", "Product", "Price","Total" ];
cart.setSize(500, 800);
var name_dgc = cart.getColumnAt(0);
name_dgc.width = 100;
name_dgc.headerText = "Quantity";
var pn = cart.getColumnAt(1);
pn.width = 150;
pn.headerText = "Product";
var price_dgc = cart.getColumnAt(2);
price_dgc.width = 80;
price_dgc.headerText = "Price";
var cartTotal = cart.getColumnAt(3);
cartTotal.width = 70;
cartTotal.headerText = "Total";
cart.move(40, 220);
cartTotal.labelFunction = function(item:Object):String {
if ((item.Price != undefined) && (item.Quantity != undefined)) {
//trace("Test"+item.Price)
var cartTotal:Number = Math.round(item.Price * item.Quantity * 100) / 100;
var num_str:String = String(cartTotal);
//trace("Num Str"+ num_str);
var num_array = num_str.split(".");
if (num_array[1] == undefined) {
num_array[1] = "00";
}
if (num_array[1].length == 1) {
num_array[1] += "0";
}
return "$" + (num_array.join("."));
}
};
//Create a dataProvider to add some data to the Datagrid
data_array = new Array();
data_array.push(myArr, myArr2, myArr3);
cart.dataProvider = data_array;
// Create listener object for DataGrid to remove selected item.
var listener_obj:Object = new Object();
listener_obj.headerRelease = function(evt_obj:Object) {
cart.dataProvider.removeItemAt(cart.selectedIndex)
}
}
}