2015-11-24 90 views
1

我正在使用ISelectionChangedListener來收聽JFace TableViewer上的選擇事件。有沒有辦法獲得選定行的索引?如何在JFace TableViewer中獲取所選項目的索引?

tableViewer.addSelectionChangedListener(new ISelectionChangedListener() 
{ 
    @Override 
    public void selectionChanged(SelectionChangedEvent selectionEvent) 
    {    
     final IStructuredSelection selection = (IStructuredSelection) historyTableViewer.getSelection(); 
     if (selection != null) 
     { 
      selectedEvent = (castToObject) selection.getFirstElement(); 

     } 
    } 
}); 

所以說,我選擇了TableViewer中8行中的第4行。我如何知道選擇對應於第4行?

回答

3

你可以要求選擇指數標的Table控制:

int index = tableViewer.getTable().getSelectionIndex(); 

或多個選擇:

int [] indices = tableViewer.getTable().getSelectionIndices(); 

但是當你使用TableViewer你一般不使用行指數。

-1
int index=tableViewer.getTable().getSelectionIndex(); 

return tableViewer.getElementAt(index) 

****用於返回對象選擇爲TableViewer的****

相關問題