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 回答