如何获取tableviewer行项?

时间:2014-09-08 08:23:38

标签: java eclipse plugins eclipse-plugin jface

我在一个带有视图的插件中有一个tableviewer。 tableviewer有5列。当我选择行时,我需要行中的数据。例如:当我选择第1行时,监听器应该在第1列第1行的数据中存储变量。

我用它来获取所选行中的数据,但它只返回第一列的数据:

table.addListener(SWT.DefaultSelection, new Listener() {       
    public void handleEvent(Event event) {
          TableItem[] selection = table.getSelection();
          for (int i = 0; i < selection.length; i++)
          {                 
          System.out.println(selection[i].getText());
          }                    
    }
  });

如何获取行的所有列中的数据?

1 个答案:

答案 0 :(得分:1)

使用TableViewer.addSelectionChangedListener

viewer.addSelectionChangedListener(new ISelectionChangedListener() {
  @Override
  public void selectionChanged(final SelectionChangedEvent event)
  {
    IStructuredSelection selection = (IStructuredSelection)event.getSelection();

    RowData rowData = (RowData)selection.getFirstElement();

    ....
  }
});

其中RowData是行的模型对象