Вкладка от ввода до ввода в CellTable - PullRequest
4 голосов
/ 04 мая 2011

У меня есть CellTable с кучей ячеек, которые отображаются в <input> тегах.Вкладка между входами нарушена из-за необычной обработки событий CellTable.Кажется, что вкладка вдохновляет каждую клетку на finishEditing, но это, в свою очередь, захватывает фокус, и фокус никогда не достигает следующей <input>.

Настройка tabIndex для каждого входа, кажется, не влияет на поведение.

Как восстановить обычную функциональность вкладок?

Ответы [ 4 ]

8 голосов
/ 21 июня 2011

Я недавно понял это. Раздражает, но просто, когда вы найдете магию.

  1. Создайте новый тип ячейки для использования в вашей таблице, так как фондовый TextInputCell определяет индекс вкладки -1. В основном, делайте все, что делает TextInputCell, но не указывайте индекс табуляции в вашем шаблоне.
  2. Отключите навигацию клавиатуры по умолчанию на CellTable. cellTable.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.DISABLED)

Это должно привести к нормальной навигации по вкладкам в CellTable.

2 голосов
/ 10 марта 2014

Отключение KeyboardSelectionPolicy может работать не на всех представлениях, если вы используете какие-либо фреймворки MVP.GWT выбирает ячейку вместо поля ввода внутри ячейки.

Вот решение, которое я использовал в своих приложениях: Добавление элемента управления TAB в GWT CellTable

0 голосов
/ 01 мая 2015

Для тех, кто смотрит на это в будущем и пытается выяснить, как использовать табуляции при изменении значений, сделайте то, что предлагает Бен Имп, и затем в ваших пользовательских компонентах удалите любую ссылку на super.finishEditing.В некоторых случаях это означает переопределение finishEditing и его отсутствие.

0 голосов
/ 22 апреля 2013

решение от Ben Imp работает нормально, если вы не измените значение ячейки, но если вы измените значение и попытаетесь перейти с помощью вкладки на следующую ячейку, оно потеряет фокус и начнёт с первого элемента представления. Я не нашел решения для этого неуместного поведения.

...