我有一个高级数据网格,上面有一个分组。通过分组内部的项目,我可以设置双击项目的位置,它将创建一个允许用户编辑该条目的弹出窗口。我遇到的问题是我可以双击组标题,弹出窗口会激活空白信息。如何防止这种情况发生?
这是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>
答案 0 :(得分:1)
event target
不是单行而是整个datagrid组件,不能使用此对象。
如果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);
}
}
的Davide
答案 1 :(得分:0)
这将在plugList_itemDoubleClickHandler函数中处理。有一个条件语句并查看event.target,不确定它的语法,但在调试模式下,你应该能够看到你可以看到的项目和标题之间的区别。如果是标题,请不要显示弹出窗口