Обнаружили на платформе 7.2.3 и сохраняется на 7.2.7
Есть простая таблица в стиле “строка счета”, колонки количество и цена должны быть редактируемыми.
При изменении количества или цены должна пересчитываться сумма по строке.
Расчет суммы делается в обработчике события InstanceContainer.ItemPropertyChangeEvent
.
Но при изменение данных в редактируемых ячейках событие вызывается не всегда.
Если изменять фокус в пределах строки, где посходит редактирование - обработчик срабатывает.
Если отредактировать данные в ячейке и кликнуть на другую строку в нередактируемую колонку - обработчик не чаще всего срабатывает, как следствие - сумма в строке не пересчитывается и в БД сохраняются некорректные данные.
На видео демонстрация поведения.
На видео можно заметить неадекватное поведение выделения в таблице - выделенная строка иногда после клика изменяется и тут же возвращается в прежнее положение.
Это похоже на поведение со скачками фокуса в редактируемой таблице, но реализация нередактируемых колонок в виде генерируемых с компонентом Label тут не спасает.
Если в таблице установить showSelection="false"
то ItemPropertyChangeEvent
срабатывает стабильно, но теряем возможность удаления выделенных строк в таблице.
Простенький тестовый проект прилагаю.
instancechangetest.zip (89.0 КБ)