在eclipse e4中禁用tableviewer中的一行

时间:2014-04-30 14:46:59

标签: java eclipse jface e4

在我的tableviewer中,用户可以选中/取消选中项目。我想禁用与特定对象选择无关的行,以便用户无法修改这些行。这看起来非常基本,但我在做同样的事情上遇到了很多困难。请帮忙!

2 个答案:

答案 0 :(得分:1)

Table / TableViewer不支持禁用行。

您可以在选择更改的侦听器中清除不需要的选择(或检查状态更改侦听器)。

如果您的标签提供者实施IColorProvder,您可以更改已禁用行的前景/背景颜色。

答案 1 :(得分:0)

可能未禁用行,但如果您不希望用户修改可以使用JFace中的EditingSupport实现的行的值。 EditingSupport类中的canEdit()方法确定是否可以编辑单元格。

例如,

class MyEditingSupport extends EditingSupport {
...
@Override
protected boolean canEdit(Object element) {
    return condition_to_determine_if_the_row_should_be_disabled;
}
...

}

Here是关于在表格中使用EditingSupport的好文章。