2011-01-10 49 views
1

默認情況下,無論您何時使用rollOver/mouseOver(不確定區別)Datagrid或List中的項目,該項目都會使用組件的rollOverColor高亮顯示。我只是想知道是否有任何方式來做到這一點編程。我在這個問題上找不到多少幫助。例如,假設我有兩個DataGrid。當我在第一個DataGrid中滾動一個項目時,我想在第二個項目中突出顯示相應的索引。基本上,就好像兩個單獨的遊標正在rollOvering兩個單獨的DataGrids一樣。我怎樣才能做到這一點?Flex DataGrid列表高亮

  • 伊恩

回答

1

您可以偵聽DataGrid的itemRollOver事件,然後通過它的selectedIndexselectedItem屬性中選擇在數據網格的其他行。

+0

完全錯誤的,怎麼會有人給予好評此。這應該得到-1。再次閱讀問題,他要求翻轉索引而不是選擇索引。 – randomUser56789 2012-01-23 14:16:59

0

1)使用此功能創建自定義的DataGrid:

public function indicesToItemRenderer(rowIndex:int, colIndex:int):IListItemRenderer 
    { 
     var firstItemIndex:int = verticalScrollPosition - offscreenExtraRowsTop; 
     if (rowIndex < firstItemIndex || 
       rowIndex >= firstItemIndex + listItems.length 
       ) 
     { 
       return null; 
     } 

     return listItems[rowIndex - firstItemIndex][colIndex]; 
    } 

2)當你想hightlight項,調用此代碼:

youCustomADG.indicesToItemRenderer(idxRow, idxCol).dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER);