Can't get itemDoubleClick event to work in Flex (even with doubleClickEnabled = true)

I'm trying to make a simple datagrid in Flex with a doubleclick event, but I can't seem to run 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>

      

If I use an event itemClicked

then the event is raised just fine. When I search for this issue, I find a lot of people saying, “you need to install doubleClickEnabled=true

, but I did it and it still doesn't work.

This control is nested within multiple levels of VBox and other containers. Surely I don't need to install doubleClickEnabled

for each of these containers?

Just to clarify how I tested this - I have an alert box in my event handler refererRowDoubleClicked

and it never shows up when I useitemDoubleClick

+1


source to share


2 answers


Simon

I was able to get your code to work, no problem. Wrapped it in multiple container layers that didn't have doubleClickEnabled set to true to see if this was the problem, but it doesn't seem to be.

I'm wondering why one of the parents is causing the problem for some reason. Can I accommodate a larger section of code?



Here's what I checked for this:

<?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>

      

+1


source


Before using propety doubleClickEnabled my itemDoubleClick doesn't work, but when I install doubleClickEnabled=true

it works well, no problem.



+1


source







All Articles