Select TableViewer 中的一行
Select a row in TableViewer
我的应用程序中有一个 TableViewer
具有以下功能:
- 它从 Web 服务获取数据,并且在 select 一行后,按钮被启用,您可以进行操作(所有这些操作都在调用 Web 服务,因此 table 保留在与数据库同步)。
- 当我添加一个新行时,我向 web 服务提交一个 "add" 命令,并刷新 table。现在我有一条新线,我知道哪条线是新线。
现在我想 select 默认换行,我尝试了很多命令,比如 tableViewer.getTable().select(index);
现在是:
public void selectAdded(int id) {
tableViewer.getTable().setSelection(id);
}
这张图片显示出了什么问题:
上面的代码显示了它现在可以使用此代码。下面的行显示了当我单击一行时它的外观。问题是,按钮未启用,我有两个只读文本字段保持空白,而不是显示我需要的信息。但是当我点击时,一切正常。
我应该怎么做才能实现 selectAdded(int id)
像点击一样的效果?解决方案应该是多平台的 (Mac/Windows),但至少在 Mac.
上
不要使用使用 TableViewer
的 Table
selection 方法。而是使用
ISelection selection = new StructuredSelection(model object);
tableViewer.setSelection(selection);
'model object' 是您想要 select 的行的模型对象(由您的内容提供商返回)。
我的应用程序中有一个 TableViewer
具有以下功能:
- 它从 Web 服务获取数据,并且在 select 一行后,按钮被启用,您可以进行操作(所有这些操作都在调用 Web 服务,因此 table 保留在与数据库同步)。
- 当我添加一个新行时,我向 web 服务提交一个 "add" 命令,并刷新 table。现在我有一条新线,我知道哪条线是新线。
现在我想 select 默认换行,我尝试了很多命令,比如 tableViewer.getTable().select(index);
现在是:
public void selectAdded(int id) {
tableViewer.getTable().setSelection(id);
}
这张图片显示出了什么问题:
上面的代码显示了它现在可以使用此代码。下面的行显示了当我单击一行时它的外观。问题是,按钮未启用,我有两个只读文本字段保持空白,而不是显示我需要的信息。但是当我点击时,一切正常。
我应该怎么做才能实现 selectAdded(int id)
像点击一样的效果?解决方案应该是多平台的 (Mac/Windows),但至少在 Mac.
不要使用使用 TableViewer
的 Table
selection 方法。而是使用
ISelection selection = new StructuredSelection(model object);
tableViewer.setSelection(selection);
'model object' 是您想要 select 的行的模型对象(由您的内容提供商返回)。