0

グループ化された高度なデータグリッドがあります。グループ内のアイテムを使用して、アイテムをダブルクリックすると、ユーザーがそのエントリを編集できるポップアップが作成されるように設定されています。私が抱えている問題は、グループタイトルをダブルクリックすると、ポップアップが空白の情報でアクティブになることです。これが機能しないようにするにはどうすればよいですか?

これがmxmlコードです

<mx:AdvancedDataGrid id="plugList" designViewDataType="tree" width="100%" height="100%" 
         initialize="gc.refresh();" doubleClickEnabled="true" itemDoubleClick="plugList_itemDoubleClickHandler(event)">
        <mx:dataProvider>
            <mx:GroupingCollection2 id="gc" source="{plugs}">
                <mx:grouping>
                    <mx:Grouping>
                        <mx:GroupingField name="traderTitle"/>
                    </mx:Grouping>
                </mx:grouping>
            </mx:GroupingCollection2>
        </mx:dataProvider>
        <mx:columns>
            <mx:AdvancedDataGridColumn headerText="Title" dataField="traderTitle"/>
            <mx:AdvancedDataGridColumn headerText="Anchor" dataField="traderAnchor"/>
            <mx:AdvancedDataGridColumn headerText="URL" dataField="url"/>
            <mx:AdvancedDataGridColumn dataField="status" headerText="Status" width="75"/>
        </mx:columns>
    </mx:AdvancedDataGrid>
4

2 に答える 2

1

これevent targetは単一の行ではなく、データグリッド コンポーネント全体です。このオブジェクトは使用できません。selectionMode プロパティがsingleRow(デフォルト) に設定されている場合、このselectedItemプロパティを使用してターゲット行を指定できます。次に、children プロパティの存在を確認して、親ノードと単純なリーフを区別できます。

これは単純な doubleClick リスナー関数の例です:

protected function plugList_itemDoubleClickHandler(event:ListEvent):void
{
    if(((Object)(event.target.selectedItem)).hasOwnProperty('children')){
        trace('not a leaf');
    }else{
        Alert.show("Selected  "+event.target.selectedItem.desc);
    }   
}

ダビデ

于 2012-12-18T07:58:00.540 に答える
0

これは、plugList_itemDoubleClickHandler 関数で処理されます。条件付きステートメントを用意して、event.target を見てください。その構文はわかりませんが、デバッグ モードでは、監視できるアイテムとヘッダーの違いを確認できるはずです。ヘッダーの場合、ポップアップを表示しない

于 2011-01-21T11:38:32.750 に答える