Select TableViewer 中的一行

Select a row in TableViewer

我的应用程序中有一个 TableViewer 具有以下功能:

现在我想 select 默认换行,我尝试了很多命令,比如 tableViewer.getTable().select(index); 现在是:

public void selectAdded(int id) {
    tableViewer.getTable().setSelection(id);
}

这张图片显示出了什么问题:

上面的代码显示了它现在可以使用此代码。下面的行显示了当我单击一行时它的外观。问题是,按钮未启用,我有两个只读文本字段保持空白,而不是显示我需要的信息。但是当我点击时,一切正常。

我应该怎么做才能实现 selectAdded(int id) 像点击一样的效果?解决方案应该是多平台的 (Mac/Windows),但至少在 Mac.

不要使用使用 TableViewerTable selection 方法。而是使用

ISelection selection = new StructuredSelection(model object);

tableViewer.setSelection(selection);

'model object' 是您想要 select 的行的模型对象(由您的内容提供商返回)。