有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取tableviewer行项目?

我有一个带有视图的插件中的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) 个答案

  1. # 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是该行的模型对象