Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在Flex中从datagrid拖放到uicomponent_Apache Flex_Drag And Drop - Fatal编程技术网

Apache flex 在Flex中从datagrid拖放到uicomponent

Apache flex 在Flex中从datagrid拖放到uicomponent,apache-flex,drag-and-drop,Apache Flex,Drag And Drop,我试图从数据网格中拖出一个项目,并将其放到UIComponet上。基本上,我只想让UIComponent知道有东西被放到它上面,并允许它访问被删除项的数据 我原以为只要听掉事件就可以了,但似乎不行 我找到了很多关于从一个IList拖动到另一个IList的文档,但是没有关于这个的文档 <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init(event)" dragDr

我试图从数据网格中拖出一个项目,并将其放到UIComponet上。基本上,我只想让UIComponent知道有东西被放到它上面,并允许它访问被删除项的数据

我原以为只要听掉事件就可以了,但似乎不行

我找到了很多关于从一个IList拖动到另一个IList的文档,但是没有关于这个的文档

<mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml"
                initialize="init(event)" dragDrop="itemDropped(event)">

您还需要处理
拖拽\u进入

<s:TextInput id="input" dragEnter="input_dragEnterHandler(event)"
    dragDrop="input_dragDropHandler(event)"/>

很酷,UIComponent现在可以接受滴落。然而,我认为我将不得不抛弃dragManager,并想出我自己的解决方案。原因是我想使用自定义的拖动代理图像,这需要手动设置拖动管理器。在dodrag方法中设置drag inititator时,我只能传入datagrid,而不能传入单击的datagrid行项目,这会弄乱代理图像的位置。它总是连接在dg的x,y处,而不是它自己的x,y处。擦伤了,我用dodrag offest进行了切割,使其定位正确。
private function input_dragEnterHandler(event:DragEvent):void
{
    var data:Array = event.dragSource.dataForFormat("items") as Array;
    if (data && data.length > 0)
        DragManager.acceptDragDrop(input);
}

private function input_dragDropHandler(event:DragEvent):void
{
    var data:Array = event.dragSource.dataForFormat("items") as Array;
    input.text = data[0].name;
}