Flex:根据组件顺序双击数据网格上的事件传播?
我想在Flex3中的数据网格上有一个双击事件。以下示例仅适用于Accordion(id =“mustBeSecond”)容器位于DataGrid之后。为什么组件的顺序很重要,我该怎么做才能防止这种行为? (这个例子不工作。如果你改变“mustBeSecond”的顺序,“gridReportConversions”的例子正常工作)Flex:根据组件顺序双击数据网格上的事件传播?
<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:*.com'}]);
private function refererRowDoubleClicked(e:Event):void {
Alert.show("double click");
}
]]>
</mx:Script>
<mx:HBox width="100%" height="100%">
<mx:Accordion width="200" height="200" id="mustBeSecond">
<mx:Canvas label="Navigation Box" width="100%" height="100%">
<mx:VBox>
<mx:LinkButton label="First Link" />
<mx:LinkButton label="Second Link" />
</mx:VBox>
</mx:Canvas>
</mx:Accordion>
<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:HBox>
我在Flex和它测试你的代码他们所处的顺序没有任何区别。双击事件是以任何方式解决的。这是一个新的项目,没有其他代码,除了Flex应用程序设置的默认项目。
有时当一个Flex项目开始动作怪异时,它有助于点击Project - > Clean。
您是否在“问题”窗格中看到任何错误或通知?
+1为“项目>清洁” – Robusto 2010-03-21 02:31:36
我调查了一天中的问题,并认为这是Flash Player和Firefox在特殊情况下的问题。独立的swf和Tomcat提供的版本之间甚至有所不同。我在adobe bugbase中发现了一个公开问题。 Flash Player团队与Firefox团队合作寻找解决方案。 https://bugs.adobe.com/jira/browse/FP-3744 该示例(以及我的项目编码)在Safari中正常工作。对不起,浪费你的时间。我是Flex的新手,从未考虑过使用其他浏览器进行测试。 – MyMacAndMe 2010-03-21 21:50:45
如果使用AdvancedDataGrid,会发生同样的事情吗? – Robusto 2010-03-21 02:27:20