2011-01-20 29 views
0

我有一個先進的數據網格上有一個分組。通過分組內的項目,我可以在其中設置雙擊某個項目的位置,它將創建一個允許用戶編輯該項目的彈出窗口。我遇到的問題是我可以雙擊組標題並彈出空白信息。我如何防止這種情況發生?如何禁用雙擊高級datagrid分組標題?

這裏是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

這將在plugList_itemDoubleClickHandler函數處理。有一個條件語句並查看event.target,不確定它的語法,但在調試模式下,您應該能夠看到項目和標題之間的區別,您可以觀察它們。如果其標題不顯示彈出框

1

event target不是單行而是整個數據網格組件,您不能使用此對象。 如果selectionMode屬性設置爲singleRow(這是默認值),則可以使用selectedItem屬性指向目標行。 然後,您可以檢查是否存在兒童屬性以區分父節點和簡單葉。

這是一個簡單的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