2011-04-21 100 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