2015-11-24 85 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的****

相关问题