1

Table通过以下方式创建了一个 SWT:

new Table(tabFolder, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);

它现在每行都有一个复选框。如何禁用(灰色)此复选框的单个TableItem

4

3 回答 3

2

使用TableItem.setGrayed (boolean grayed). 即使它是灰色的,您仍然可以选中/取消选中它。要禁用选中/取消选中,请使用TableItem.setChecked(boolean checked)

于 2012-10-01T14:27:55.783 回答
0

我不确定您是否可以禁用自动管理的复选框(即在表中使用 SWT.CHECK)。

解决方案是管理自己的编辑器(见片段

然后在需要时在编辑器上执行此操作:

myButton.setEnabled(false);
于 2012-10-01T14:20:17.343 回答
0

据我所知,禁用选中表中的一行的唯一方法是向表中添加一个侦听器,并在选中复选框后立即重置选择。要“变灰”(不幸的是,不是按钮而是行),您可以使用适当的 ColumnLabelProvider。

于 2013-07-02T15:27:01.587 回答