Apache flex 无法使itemDoubleClick事件在Flex中工作(即使doubleClickEnabled=true)
我正在尝试在Flex中使用双击事件创建一个简单的datagrid,但我无法启动Apache flex 无法使itemDoubleClick事件在Flex中工作(即使doubleClickEnabled=true),apache-flex,double-click,Apache Flex,Double Click,我正在尝试在Flex中使用双击事件创建一个简单的datagrid,但我无法启动itemDoubleClick: <mx:DataGrid id="gridReportConversions" height="100%" width="100%" mouseEnabled="true" doubleClickEnabled="true" itemDoubleClick="refererRowDoubleClicked(event)"> <m
itemDoubleClick
:
<mx:DataGrid id="gridReportConversions" height="100%" width="100%" mouseEnabled="true" doubleClickEnabled="true" itemDoubleClick="refererRowDoubleClicked(event)">
<mx:columns>
<mx:DataGridColumn width="75" dataField="qty" headerText="Qty" />
<mx:DataGridColumn dataField="referer" headerText="URL" />
</mx:columns>
</mx:DataGrid>
如果我使用itemClicked
事件,那么事件将正常引发。当我搜索这个问题时,我发现很多人说‘你需要设置doubleClickEnabled=true
,但我已经这样做了,它仍然不起作用
此控件嵌套在相当多级别的VBox和其他容器中。当然,我不需要在每个容器上设置doubleClickEnabled
,是吗
只是为了澄清我是如何测试这个的-我在我的refererRowDoubleClicked
事件处理程序中有一个警报框,当我使用itemDoubleClick
Simon时,它从未显示出来
我能让你的代码正常工作,没问题。将它包装在多层容器中,这些容器没有将doubleClickEnabled设置为true,以查看这是否是一个问题,但似乎不是
我想知道是不是父母中的一个造成了问题。您是否可以发布更大的代码部分
下面是我用来测试的:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;
[Bindable] private var dp:ArrayCollection = new ArrayCollection([{qty:1,referer:'http://google.com'},{qty:25,referer:'http://cnn.com'},{qty:4,referer:'http:stackoverflow.com'}]);
private function refererRowDoubleClicked(e:Event):void
{
var msg:String = "target: " + e.target + "\n\ncurrentTarget: " + e.currentTarget + "\n\nselected item qty: " + gridReportConversions.selectedItem.qty + "\nselected item referer: " + gridReportConversions.selectedItem.referer;
Alert.show(msg);
}
]]>
</mx:Script>
<mx:VBox width="100%" height="100%">
<mx:VBox width="100%" height="100%">
<mx:Box width="100%" height="100%">
<mx:Canvas width="100%" height="100%">
<mx:DataGrid id="gridReportConversions" height="100%" width="100%" dataProvider="{this.dp}"
mouseEnabled="true" doubleClickEnabled="true" itemDoubleClick="refererRowDoubleClicked(event)">
<mx:columns>
<mx:DataGridColumn width="75" dataField="qty" headerText="Qty" />
<mx:DataGridColumn dataField="referer" headerText="URL" />
</mx:columns>
</mx:DataGrid>
</mx:Canvas>
</mx:Box>
</mx:VBox>
</mx:VBox>
</mx:Application>
在我使用Property doubleClickEnabled之前,我的itemDoubleClick不工作,但是当我设置doubleClickEnabled=true
时,它工作正常,没有问题。请发布您的事件处理程序函数…我打赌它正在启动,但是处理程序函数中有一个错误,使它看起来好像没有启动。@mmattax-我的函数包含Alert.show(“达到的事件函数”),参数是event:event。如果我将itemDoubleClick更改为itemClick,那么我会看到一条消息,非常感谢您的尝试。我想我得一步一步地把它放到“集装箱链”上,看看能不能让它运转起来。我只是想确定一开始我没有做傻事