Название: Позиционирование в QTableView & QSqlQueryModel Отправлено: Majestio от Апрель 26, 2013, 08:27 Ситуация в следующем:
Есть форма с QTableView, которая отображает данные запроса, используя QSqlQueryModel. Мы позиционировались на строку с данными, например, Поле "Id" = 5, ... + остальные поля. Потом применили фильтр (или сортировку), задав для QSqlQueryModel новый запрос. Таблица перечиталась. Как о5 позиционировать селект строки на старую позицию (с Поле "Id" = 5)? Использую PostgreSQL 9.2.1, Qt 4.8.4 Название: Re: Позиционирование в QTableView & QSqlQueryModel Отправлено: VPS от Апрель 26, 2013, 13:32 Можно попробовать один раз написать запрос на выборку данных из таблицы, а уже потом манипулировать данными (сортировка или фильтрация) через объект класса "QSortFilterProxyModel", который связать связать с исходной моделью "QSqlQueryModel". Тогда можно перед манипуляциями сохранять индекс выделенного элемента, а после - переходить к нему обратно (если он виден в представлении).
П.С.: в зависимости от задачи это может и не подойти... Название: Re: Позиционирование в QTableView & QSqlQueryModel Отправлено: Majestio от Апрель 27, 2013, 01:41 Можно попробовать один раз написать запрос на выборку данных из таблицы, а уже потом манипулировать данными (сортировка или фильтрация) через объект класса "QSortFilterProxyModel", который связать связать с исходной моделью "QSqlQueryModel". Тогда можно перед манипуляциями сохранять индекс выделенного элемента, а после - переходить к нему обратно (если он виден в представлении). П.С.: в зависимости от задачи это может и не подойти... "Беда" в том, что фильтрацию я намереваюсь делать на стороне сервера. С точки зрения производительности на клиента это возложить никак не могу. Будут скорее регэкспы по всем полям. |