Russian Qt Forum
Сентябрь 30, 2024, 18:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как запретить уходить со строки в QTableView в случае ошибки?  (Прочитано 2907 раз)
PavelVX
Гость
« : Февраль 28, 2012, 07:42 »

Есть наследник QSqlRelationalTableModel. К нему привязан QTableView.
При смене строки модель посылает сигнал, обрабатываю его своим слотом, в котором пытаюсь измененные данные сохранить.
Пользователь вводит новую строку(Model->insertRows(cnt,1)), допускает там ошибку в данных, и при смене строки, при попытке сохранения выдается сообщение об ошибке. Но ему дает уйти с этой строки, поэтому программа циклится с ошибкой. При любом переходе между строк идет сообщение об ошибке. Пытаюсь отменить изменения путем:
    if (Model->submitAll())
    {
        Model->database().commit();
        return 1;
    }
    else
    {
        if (Model->database().rollback())
//все пучком!

Как запретить пользователю уходить со строки с ошибкой?
И почему rollback возвращает true, хотя в строке ошибка.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Март 10, 2012, 19:02 »

>>И почему rollback возвращает true
потому-что откат удался
Записан

Юра.
PavelVX
Гость
« Ответ #2 : Март 22, 2012, 08:04 »

Если бы роллбек удался. то новая запись бы отменилась. А так при попытке сохранить другие изменения постоянно не вылезала бы ошибка!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.132 секунд. Запросов: 22.