禁用JFace TableViwer单行

时间:2016-07-14 18:14:12

标签: swt jface tableviewer

有谁知道如何禁用JFace TableViwer的单行?我的TableViwer tv = new TableViwer(composite, SWT.NONE| SWT.FULL_SELECTION | SWT.BORDER); 构造如下:

<th data-filter="false"></th>

tv可以有很多行,但是我会动态地向表中添加一个特定的唯一行(当单击一个外部按钮时),我只需要禁用该行(灰显且不可选。不可选择也可以通过现有的处理程序实现,如果没有其他选项)。

我在谷歌搜索但没有得到太多信息。我是SWT / JFace的新手,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您必须在选择侦听器中执行某些操作以拒绝选择该行。

要使行变为灰色,您可以使标签提供程序实现IColorProvider,以便您定义两种方法:

public Color getForeground(Object element);
public Color getBackground(Object element);

可以为行着色。

您还可以使用从StyledCellLabelProvider派生的标签提供程序,它允许您定义更复杂的着色。