Получить номер столбца выбранного столбца в TableViewer

#java #swt #jface

#java #swt #jface

Вопрос:

У меня есть таблица со m*n строками. Я использовал TableViewer , TableViewerColumn of JFace и добавил поддержку редактирования для каждого столбца.

Я не использую никакой привязки данных.

Я могу получить номер строки редактируемой ячейки из TableViewer.getTable().getSelectionIndices() Как я могу получить номер столбца редактируемой ячейки?

Комментарии:

1. Какая версия eclipse это?

2. Если вы используете отдельный класс поддержки редактирования для каждого столбца, вы узнаете, в каком столбце вы находитесь, только по активному классу.

Ответ №1:

Вы можете переопределить CellEditor::activate(ColumnViewerEditorActivationEvent) .

Источником события, которое передается activate , является ViewerCell . Наконец, ViewerCell::getColumnIndex() обозначает номер столбца, который в данный момент редактируется.

Однако этот подход требует активации редактора ячеек до того, как информация о номере столбца станет доступной.