Mega Code Archive

 
Categories / Flex / Grid
 

Get drag initiator DataGrid from DragEvent

<?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">   <mx:Script>            import mx.collections.ArrayCollection;       import mx.controls.DataGrid;       import mx.events.DragEvent;       import mx.managers.DragManager;       private function dragCompleteHandler(event:DragEvent):void {         if(event.action != DragManager.NONE) {           var grid:DataGrid = DataGrid(event.dragInitiator);           var data:ArrayCollection = ArrayCollection(grid.dataProvider);           var item:Object = event.dragSource.dataForFormat("items")[0];           for(var i:uint = 0; i < data.length; i++) {             if(data.getItemAt(i).emailId == item.emailId) {               data.removeItemAt(i);               break;             }           }         }       }      </mx:Script>       <mx:DataGrid dropEnabled="true" dragEnabled="true" dragComplete="dragCompleteHandler(event)">         <mx:columns>           <mx:DataGridColumn headerText="From" dataField="from"/>         </mx:columns>         <mx:dataProvider>           <mx:ArrayCollection>             <mx:Object emailId="0" from="a@a.com"/>           </mx:ArrayCollection>         </mx:dataProvider>       </mx:DataGrid>       <mx:DataGrid dropEnabled="true" dragEnabled="true" dragComplete="dragCompleteHandler(event)">         <mx:columns>           <mx:DataGridColumn headerText="From" dataField="from"/>         </mx:columns>       </mx:DataGrid> </mx:Application>