1

ダブルクリック イベントを使用して Flex で単純なデータグリッドを実行しようとしていますが、起動できません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

4

2 に答える 2

1

サイモン、

コードを動作させることができました。問題ありません。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>
于 2008-11-21T18:44:22.860 に答える
1

プロパティ doubleClickEnabled を使用する前は、itemDoubleClick が機能しませんでしたが、設定doubleClickEnabled=trueすると問題なく機能しました。

于 2010-11-16T09:12:40.787 に答える