Russian Qt Forum

Qt => Базы данных => Тема начата: Pupil от Январь 13, 2011, 16:05



Название: Опускание строк QModelView после submit PostgreSQL
Отправлено: Pupil от Январь 13, 2011, 16:05
Здравствуйте!

CУБД PostgreSQL
QT 4.5.3

При изменении данных в модели QTableView и операции SubmitAll() происходит корректно запись в таблицу БД Postgre, но строки, в полях которых были изменены данные, в QTableView отображаются "съехавшими" вниз списка. Рекомендации книги Земскова (setSort), к сожалению, не работают. Посоветуйте, плиз, о сохранении порядка строк после SubmitAll()

Код:
     modelUI->database().transaction();
     if (modelUI->submitAll()) {
         modelUI->database().commit();
     } else {
         modelUI->database().rollback();
         QMessageBox::warning(this, tr("Cached Table"),
                              tr("The database reported an error: %1")
                              .arg(modelUI->lastError().text()));
     }
     ui->tableView->setModel(modelUI);

Спасибо!


Название: Re: Опускание строк QModelView после submit PostgreSQL
Отправлено: Pupil от Январь 14, 2011, 09:52
Вопрос решил. Надо было setSort поставить в надлежащее место:

Код:
Qt (C++)
modelUI->database().transaction();
modelUI->setSort(0, Qt::AscendingOrder);

Приношу извинения за ложную тревогу.