У меня возникла следующая проблема при использовании SmartGWT 2.4:
- у нас есть DynamicForm, показывающий несколько статических текстовых полей (поэтому форма находится в режиме только для чтения).Форма использует источник данных в фоновом режиме и наш собственный FormItemFactory для создания правильных элементов формы на основе наших метаданных.Некоторые элементы формы содержат логические значения, отображаемые в виде строк: например, 'isHidden': ложь или 'canShow': true .
- по действию пользователя (нажатие кнопки)нам нужно переключить форму в режим редактирования.
Мы делаем это следующим образом:
- сначала мы собираем значения формы как
rec = form.getValuesAsRecord()
, получая объект Record - , затем создаем новыйдинамическую форму и установите в нее тот же источник данных, что и у исходного, имеет
- , тогда мы вызываем метод
newForm.editRecord(rec)
недавно созданной динамической формы
Таким образом, статические значения формы отображаются как редактируемыеполя ввода. Однако проблема в этих логических значениях.Они правильно преобразованы в флажки, но все они проверены по умолчанию.
Я думаю, что строковые значения 'false' или 'true' не разбираются в логические значения и устанавливаются как значения для соответствующихфлажок пункт.
Могу ли я как-то повлиять на этот процесс?Я пытался предоставить анонимную реализацию FormItemValueParser до CheckboxItem , но оказалось, что он будет использоваться только для произвольных текстовых элементов формы.
Я буду очень благодарен залюбой данный намек.