2012-01-13 2 views
2

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

viewer.refresh(); 

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

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

, который не работает, есть решение, чтобы обновить его, или я должен освежить смотреть совершенно
Примечание: Моя среда выполнения является Windows XP

+1

Эта серая полоса является индикатором для пользователя, чтобы показать, какая строка была выбрана ранее. Это особенность, а не ошибка. –

+0

И он присутствует только на некоторых платформах. Например. вы не видите серой полосы под OSX ... –

ответ

4

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

+0

это работает для меня благодарность – srk

4

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

+0

это тоже работает для меня благодарность – srk

Смежные вопросы