SWT Jface TableViewer получить строку по данным

Я успешно сопоставил массив объектов в таблицу, используя TableViewer, я использовал ArrayContentProvider а потом TableViewer.setInput сопоставить мой массив.

Теперь мне нужно изменить цвет фона нескольких строк в таблице, чтобы визуально выделить их. Каждая строка соответствует объекту в массиве. Но я не могу понять, как получить ссылку на строку (т.е. TableItem) дан объект сопоставленного типа. Я могу получить объект, заданный строкой с TableItem.getData() но то, что я действительно хочу сделать, это получить TableItem учитывая его данные.

1 ответ

Решение

Вы можете просто вызвать защищенный метод TableViewer.doFindItem используя отражение.

Или лучше сделайте так, чтобы ваш поставщик этикеток реализовал ITableColorProvider и TableViewer будет использовать правильный цвет автоматически.

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