【问题标题】:How to get index of the selected item in JFace TableViewer?如何在 JFace TableViewer 中获取所选项目的索引?
【发布时间】:2015-12-27 20:12:57
【问题描述】:

我正在使用ISelectionChangedListener 来监听 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 行?

【问题讨论】:

    标签: swt jface


    【解决方案1】:

    你可以向底层Table控件询问选择索引:

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

    或多选:

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

    但是当您使用TableViewer 时,您通常不使用行索引。

    【讨论】:

      【解决方案2】:
      int index=tableViewer.getTable().getSelectionIndex();
      
      return tableViewer.getElementAt(index)
      

      **** 用于返回选择到 tableviewer 的对象 ****

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-29
        • 1970-01-01
        • 2014-11-01
        • 2017-10-28
        • 2017-04-22
        • 1970-01-01
        • 1970-01-01
        • 2021-07-08
        相关资源
        最近更新 更多