2011-04-21 102 views

回答

4

我建議您延長DataGrid和引進有一個新的領域:

public var currentOverItem:Object; 

然後在您的自定義DataGrid覆蓋mouseOverHandler()方式如下:

override protected function mouseOverHandler(event:MouseEvent):void 
    { 
     super.mouseOverHandler(event); 
     var item:IListItemRenderer = mouseEventToItemRenderer(event); 
     if (item) 
     { 
      currentOverItem = item.data; 
     } 
     else 
     { 
      currentOverItem = null; 
     } 
    } 

使用這個DataGrid非常簡單。只要訂閱ContextMenuEvent.MENU_SELECT事件自定義DataGrid的實例,並在上下文菜單的處理程序使用下面的代碼:

  myGrid.selectedItem = myGrid.currentOverItem; 

希望這有助於!

+0

我找到事件爲itemRollOver所以我讓處理機 >保護的函數myGrid_itemRollOverHandler(事件:的ListEvent):無效 { event.target.selectedIndex = event.rowIndex; } – 2011-04-21 11:46:19

+0

是的,它會工作。我剛剛提供封裝的解決方案:) – Constantiner 2011-04-21 12:03:46