Показать сообщение отдельно
Старый 09.03.2018, 21:37   #1  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
Обновить выделенные записи на форме
Задача - массово изменить несколько записей на форме.
То есть, пользователь выбирает несколько записей, нажимает кнопку, выбирает новое значение. Значение устанавливается во все записи

Задача, вроде, это очень простая и реализовано так:
Есть класс, он получает MultiSelectionHelper с формы и обновляет записи. В конце main, чтобы отразить изменения на форме, стоят в конце ds.reread() и ds.refreshEx(-2). Все хорошо работает

Но.....если происходит в коде исключение и откатывается транзакция обновления всех этих строк, то почему-то все записи, которым был сделан update до исключения, так и продолжают показываться на форме с присвоенными значениями. То есть, тот факт , что транзакция откатилась, никак визуально не отражается, пока не нажмешь F5
В коде исключения отлавливаются и тут же вызывается ds.reread() и ds.refreshEx(-2) при исключении тоже. Дебаггер доходит до этих строчек. Видно, что ds присвоен....
Пробовала refreshEx (1) - не помогло.
Research помогает, но использовать его не хочу, тк выделение на форме пропадет ....

В чем может быть проблема?