хороший обзор абстрактного уровня, чтобы обойти другие потребности, спасибо за ответ

таемся создать редактируемую сетку, используяCellTable, Вариант использования - это достаточно большой объем ввода данных для бухгалтеров, которые привыкли вводить 10 таблиц в электронные таблицы. Мы пытаемся максимально точно воспроизвести навигацию клавиатуры в стиле электронных таблиц.

Есть ли способ избежать нажатия Enter, чтобы войти в режим редактирования дляTextInputCell? Я попытался переопределитьTextInputCell.onBrowserEvent() звонитьonEnterKeyDown() когда получено фокусное событие, но это не сработало.

Есть ли способ использоватьтабуляция а такжесдвиг-табуляция перемещаться между столбцами вместо стрелок влево и вправо? CellTable, кажется, жестко запрограммирован на использование стрелок влево и вправо и трудно расширяется.

Ответы на вопрос(1)

Решение Вопроса

что CellTable недостаточно расширяем, чтобы делать то, что нам нужно. В итоге мы расширили класс GWT Grid, взяв за основу дизайн CellTable, чтобы он работал достаточно хорошо для наших нужд.

В нашем случае использования 80% просмотров страниц будут отображать менее 10 строк, и у нас никогда не будет более 600 строк на 10 столбцов (<0,5% случаев имеют более 500 строк). Вместо полноценных шаблонов веса, мы использовали ленивый шаблон загрузки. Когда сетка изначально заполнена, виджеты только для отображения используются для отображения данных из базовых объектов значений. FocusHandler прикреплен к каждому виджету только для отображения. Когда пользователь щелкает или открывает вкладку в отображаемом виджете, FocusHander заменяет только отображаемые виджеты для этой строки на редактируемые виджеты.

Виджеты только для отображения ограничены легкими виджетами, такими как TextBox и CheckBox, поэтому время рендеринга приемлемо. 100 строк x 5 столбцов отображаются менее чем за 2 секунды. SuggestBoxes, DateBoxes и другие композиты ограничены использованием только в качестве редактируемых виджетов.

преимущества

Гибкость использования любого из стандартных виджетовРасширяемость - мы не ограничены вариантами реализации, сделанными в CellTableПростота разработки - создание прототипа менее чем за 3 дня разработкиРаботает достаточно хорошо, чтобы соответствовать нашим потребностямВкладки работают из коробки, как и следовало ожидать

Недостатки

Не так масштабируемо, как CellTable. Эта реализация не будет отображать тысячи строкМы должны поддерживать это сами
 Jacob04 мар. 2011 г., 09:38
Является ли ваша реализация Open Source. У меня точно такая же проблема. Я был бы крут, если бы я мог попробовать это! Спасибо !
 Forhad28 апр. 2013 г., 13:58
хороший обзор абстрактного уровня, чтобы обойти другие потребности, спасибо за ответ
 piehole28 мар. 2011 г., 20:16
Извините, это была сборка для проекта клиента. Они владеют всем кодом.

Ваш ответ на вопрос