有谁知道如何禁用JFace TableViwer
的单行?我的TableViwer tv = new TableViwer(composite, SWT.NONE| SWT.FULL_SELECTION | SWT.BORDER);
构造如下:
<th data-filter="false"></th>
tv可以有很多行,但是我会动态地向表中添加一个特定的唯一行(当单击一个外部按钮时),我只需要禁用该行(灰显且不可选。不可选择也可以通过现有的处理程序实现,如果没有其他选项)。
我在谷歌搜索但没有得到太多信息。我是SWT / JFace的新手,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
您必须在选择侦听器中执行某些操作以拒绝选择该行。
要使行变为灰色,您可以使标签提供程序实现IColorProvider
,以便您定义两种方法:
public Color getForeground(Object element);
public Color getBackground(Object element);
可以为行着色。
您还可以使用从StyledCellLabelProvider
派生的标签提供程序,它允许您定义更复杂的着色。