This has been asked several times, but I haven't seen an answer yet. 
I'm trying to drag an item from a datagrid to a tree.  From datagrid
to datagrid works fine, but for some reason, dragging to a tree won't
accept the dragdrop, even when the dragManager is told to accept it. 
I'm sure there's something stupid I'm missing, but I just can't see
it.  Here's a simple sample that demonstrates what I'm talking about.

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; width="100%"
height="100%" borderStyle="solid" >
        
        <mx:Script>
                <![CDATA[
                        import mx.controls.Alert;
                        import mx.managers.DragManager;
                        import mx.events.DragEvent;
                        private function doDragEnter(rEvent:DragEvent):void {
                                
DragManager.acceptDragDrop(Tree(rEvent.currentTarget));
                        }
                        
                        private function doDragDrop(rEvent:DragEvent):void {
                                Alert.show('dropped');
                        }
                ]]>
        </mx:Script>
        
        <mx:ArrayCollection id="treeData1">
        <mx:Object label="cat 1" children="{treeData2}"/>
        <mx:Object label="cat 2" children="{treeData3}"/>
        <mx:Object label="cat 3" children="{treeData4}"/>
    </mx:ArrayCollection>
    
    <mx:ArrayCollection id="treeData2">
        <mx:Object label="cat 1a"/>
    </mx:ArrayCollection>
    
    <mx:ArrayCollection id="treeData3">
        <mx:Object label="cat 2a"/>
    </mx:ArrayCollection>
        
    <mx:ArrayCollection id="treeData4">
        <mx:Object label="cat 3a" />
    </mx:ArrayCollection>
    
     <mx:ArrayCollection id="listData">
        <mx:Object label="oc1"/>
        <mx:Object label="oc2"/>
    </mx:ArrayCollection>
    
    <mx:HBox width="100%">
        <mx:Tree id="tr" dataProvider="{treeData1}" showRoot="false"
labelField="label"
                dropEnabled="true" dragEnter="doDragEnter(event)" 
dragEnabled="true"
                width="100%" dragDrop="doDragDrop(event)"/>
        <mx:DataGrid id="dg" dataProvider="{listData}" dragEnabled="true"
dropEnabled="true" width="100%">
                <mx:columns>
                        <mx:DataGridColumn dataField="label"/>
                </mx:columns>
        </mx:DataGrid>
    </mx:HBox>
</mx:Application>

Reply via email to