Grid Flex



  
    
    import mx.collections.ArrayCollection;
    import mx.events.DragEvent;
    import mx.managers.DragManager;
    import mx.core.DragSource;
    [Bindable]
    public var total:Number = 0;
    [Bindable]
    public var cartContents:ArrayCollection = new ArrayCollection();
    private function dragIt(event:MouseEvent, name:String, price:Number):void {
      var dragInitiator:Image = event.currentTarget as Image;
      var dragSource:DragSource = new DragSource();
      dragSource.addData(name, 'name');
      dragSource.addData(price, 'price');
      var dragProxy:Image = new Image();
      dragProxy.source = event.currentTarget.source;
      DragManager.doDrag(dragInitiator, dragSource, event, dragProxy);
    }
    private function dragEnterHandler(event:DragEvent):void {
      var dropTarget:DataGrid=event.currentTarget as DataGrid;
      if (event.dragSource.hasFormat('name') && event.dragSource.hasFormat('price')){
         DragManager.acceptDragDrop(dropTarget);
      }
    }
 
    private function dragDropHandler(event:DragEvent):void {
      var name:String  = String(event.dragSource.dataForFormat('name')) ;
      var price:Number  = Number(event.dragSource.dataForFormat('price')) ;
      this.cartContents.addItem({name:String(event.dragSource.dataForFormat('name')),price:Number(event.dragSource.dataForFormat('price'))});
      total += price;
    }