2012-01-05 1 views
0

Я узнал, если вы редактируете ячейку TableViewer без нажатия клавиши Enter или Tab. Тогда новое значение ячейки не вступит в силу. Например, значение ячейки таблицы - «abc», и вы меняете его на «xyz». Затем, когда вы читаете это значение ячейки таблицы, оно все равно «abc». Вы ДОЛЖНЫ нажать клавишу Enter или , тогда вы получите значение ячейки таблицы как «xyz».Как я могу получить значение ячейки таблицы как «xyz» БЕЗ нажатий клавиши Enter или Tab?

Как я могу заставить значение ячейки таблицы «xyz» БЕЗ нажать клавишу «Ввод» или «Вкладка»?

Большое спасибо!

ответ

0

Я предлагаю вам проверить tableviewer api. если бы это был стандартный JTable вы просто использовать это:

JTable table = new JTable(...); 
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); 
+0

Потеря фокуса означает попадание в табуляцию или щелчок в другом месте ... если это все еще неприемлемо (я бы задался вопросом, почему), тогда вам нужно поставить тайм-аут в редакторе, чтобы после определенного времени без ввода редактирование было учтено ... –

+0

Спасибо за ваш ответ, но есть ли решение для TableViewer? – sonvx

+0

@Julien Bidault: Можете ли вы дать мне знать, как установить тайм-аут для клеточного редактора tableviewer? – sonvx

0

мирского, я сделать фокус проигрышного Сета фокусом с текущего вида на другой вид в RCP :). Это не официальное решение, а эффект.