Move or copy data from a Spark List control to an MX DataGrid control by drag and drop : DataGrid Drag Drop « Grid « Flex






Move or copy data from a Spark List control to an MX DataGrid control by drag and drop

Move or copy data from a Spark List control to an MX DataGrid control by drag and drop
       

<!--
Code from Flex 4 Documentation "Using Adobe Flex 4".

This user guide is licensed for use under the terms of the Creative Commons Attribution 
Non-Commercial 3.0 License. 

This License allows users to copy, distribute, and transmit the user guide for noncommercial 
purposes only so long as 
  (1) proper attribution to Adobe is given as the owner of the user guide; and 
  (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms. 
The best way to provide notice is to include the following link. 
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/

-->



    <!-- dragdrop\DandDListToDGSpark.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"
    creationComplete="initApp();">
    <s:layout>
        <s:VerticalLayout />
    </s:layout>
    <fx:Script> 
         
        import mx.events.DragEvent; 
        import mx.managers.DragManager; 
        import mx.core.DragSource; 
        import mx.collections.IList; 
        import mx.collections.ArrayCollection; 
        private function initApp():void { 
            srcList.dataProvider = new ArrayCollection([ 
            {label:"First", data:"1"}, 
            {label:"Second", data:"2"}, 
            {label:"Third", data:"3"}, 
            {label:"Fourth", data:"4"}, 
            ]); 
            destDG.dataProvider = new ArrayCollection([]); 
        } 
        private function dragDropHandler(event:DragEvent):void { 
            if (event.dragSource.hasFormat("itemsByIndex")) 
            { 
                // Explicitly handle the dragDrop event. 
                event.preventDefault(); 
                // Since you are explicitly handling the dragDrop event, 
                // call hideDropFeedback(event) to have the drop target 
                // hide the drop indicator. 
                // The drop indicator is created 
                // automatically for the list controls by the built-in 
                // event handler for the dragOver event. 
                event.currentTarget.hideDropFeedback(event); 
                // Get drop target. 
                var dropTarget:DataGrid =DataGrid(event.currentTarget); 
                var itemsVector:Vector.<Object> =event.dragSource.dataForFormat('itemsByIndex') as Vector.<Object>; 
                var tempItem:Object ={ label: itemsVector[0].label,data: itemsVector[0].data,date: new Date()}; 
                // Get the drop location in the destination. 
                var dropLoc:int = dropTarget.calculateDropIndex(event); 
                IList(dropTarget.dataProvider).addItemAt(tempItem, dropLoc); 
            } 
        } 
      
    </fx:Script>
    <s:HGroup>
        <s:List id="srcList" dragEnabled="true" dragMoveEnabled="true" />
        <mx:DataGrid id="destDG" dropEnabled="true"
            dragDrop="dragDropHandler(event);">
            <mx:columns>
                <mx:DataGridColumn dataField="label" />
                <mx:DataGridColumn dataField="data" />
                <mx:DataGridColumn dataField="date" />
            </mx:columns>
        </mx:DataGrid>
    </s:HGroup>
    <s:Button id="b1" label="Reset" click="initApp();" />
</s:Application>

   
    
    
    
    
    
    
  








Related examples in the same category

1.DataGrid accepting dragging and dropping from another DataGridDataGrid accepting dragging and dropping from another DataGrid
2.Handle dragEnter event for DataGridHandle dragEnter event for DataGrid
3.DataGrid drag enter eventDataGrid drag enter event
4.Drag and drop between DataGridDrag and drop between DataGrid
5.Drag and move between DataGridDrag and move between DataGrid
6.Get drag initiator DataGrid from DragEventGet drag initiator DataGrid from DragEvent
7.DataGrid drag and dropDataGrid drag and drop
8.drag and move DataGrid itemsdrag and move DataGrid items
9.DataGrid drag and drop eventDataGrid drag and drop event
10.Drag and drop from List to DataGridDrag and drop from List to DataGrid
11.Drag an Image to DataGrid and do calculation based on new added itemDrag an Image to DataGrid and do calculation based on new added item
12.Drag and drop rows from either DataGrid control to the otherDrag and drop rows from either DataGrid control to the other