Таблица JFace деактивирует ячейки для определенных строк

Есть ли способы включить / отключить ячейки в JFace TableViewer? У меня есть поле со списком, и на основании набора данных в этом окне пользователь должен иметь возможность изменять данные в определенной ячейке или нет. Для каждого столбца есть TextCellEditor, который необходимо включить / отключить.

Я не могу придумать какой-либо хороший способ достичь этого, может быть, вы делаете?

1 ответ

Решение

Предполагая, что вы используете EditingSupport класс для редактирования вашей реализации canEdit Метод определяет, можно ли редактировать ячейку.

Если вы используете поставщиков меток столбцов на основе ColumnLabelProvider Вы можете переопределить getForeground а также getBackground методы, чтобы установить цвета ячейки соответственно.

Вам может понадобиться вызвать один из просмотрщиков таблиц refresh или же update методы, если вы хотите изменить состояние редактирования или цвет ячейки.

Другие вопросы по тегам