Как обновить TableViewer в приложении Eclipse RCP - PullRequest
2 голосов
/ 13 января 2012

Я использую JFace Viewer Framework в своем приложении eclipse rcp. Я создал Table Viewer, который заполняет некоторые данные. У моего представления есть кнопка обновления под просмотрщиком таблиц, когда я выбираю строку в просмотрщике таблиц и нажимаю кнопку обновления выбранная строка по-прежнему отображается серым цветом.
Сценарий изображен ниже
Перед выбором строки
Before selecting row
После выбора строки
After selecting a row
После обновления
After refresh
Каким образом я могу удалить серый фон, как показано на рисунке выше, и сделать его первым изображением? Мой код слушателя кнопки обновления прост, который имеет

viewer.refresh();

В качестве обходного пути я попытался реализовать такие методы, как

viewer.getTable().redraw();
viewer.getTable().setRedraw(true); 

, который не работает, есть решение для его обновления или я должен полностью обновить представление
Примечание. Моя среда выполнения - windows xp

Ответы [ 2 ]

4 голосов
/ 16 января 2012

Если вы создадите таблицу с флагом стиля SWT.HIDE_SELECTION, таблица не покажет свой выбор, когда она потеряет фокус. То есть это будет выглядеть как ваше первое изображение.

4 голосов
/ 16 января 2012

Эта серая линия текущая , а не предыдущий выбор. Он серый, потому что таблица не в фокусе. Используйте setSelection(StructuredSelection.EMPTY).

...