AS 2.0 Display Item in Datagrid in the order it was chosen and Remove Selected Item

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)
 }
  }
  
}