нюанс при OnRowChange

При использовании стратегии редактирования OnRowChange надо учитывать один немаловажный нюанс.

При установке значения полю строки в модели данных всегда используется функция setData.

При OnRowChange данные пишутся во временный буфер editBuffer

И только при установке нового значения полю другой строки буфер editBuffer скидывается в базу данный через updateRowInTable. Тут мы говорим о редактировании полей визуально прямо в таблице.

Таким образом если вы не установили полю другой строки новой значение, то данные предыдущей редактируемой еще не сохранились.

Это возможно единственный случай, когда надо явно вызвать submit, каждый раз например при закрытии таблицы.

Или еще правильней будет сказать submit надо делать каждый раз перед действиями,в результате которых произойдет select к базе данных.

Это например до начала сортировки по полю, перед поиском по фильтру, перед отбором по значению поля и т.д.