Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Третий архив вопросов и ответов (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/)
-   -   QSqlQueryModel + QSortFilterProxyModel + QTableView - обновление (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-807/qsqlquerymodel-qsortfilterproxymodel-qtableview-obnovlenie-358115/)

Guest 30.09.2011 20:59

QSqlQueryModel + QSortFilterProxyModel + QTableView - обновление
 
Имею такую связку как в сабже, все это дело нужно только для отображения, фильтрации и сортировки данных из базы. Содержимое базы меняется разными клиентами. Требуется чтобы вьюха отображала актуальные данные.Пробывал по разному - ничего не добился. Последний вариант вот такой:наследуюсь от QSqlQueryModel, создаю публичный метод:Код:void CustQueryModel::updateModel() { reset();}Наследуюсь от QSortFilterProxyModel, переопределяю методы flags, data, filterAcceptsRow - для своих нужд,так же создаю публичный метод:Код:void FilterModel::updateMe() { reset();}Теперь метод который вызывается в программе, когда необходимо обновить данные:(model - объект CustQueryModel(от QSqlQueryModel); filterModel - объект FilterModel(от QSortFilterModel); tableView - объект QTableView)Код:void ViewQuerys::updateTable() { if(model->query().exec()) { model->updateModel(); filterModel->updateMe(); tableView->reset(); }Думал, что такой вариант по любому заработает, однако ж нет..... В qt новичок, пишу первую программу,как победить данную проблему не знаю, прошу помощи...


Часовой пояс GMT, время: 03:55.


© www.otvetnemail.ru - Форум вопросов и ответов.