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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сортировка  (Прочитано 4935 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Сентябрь 01, 2009, 08:31 »

Граждане программисты помогите разобраться с нубской проблемой, я в упор не могу понять как сделать сортировку, посмотрел демку стандартную masterdetail , насколько я понял там сортировка просто включается строчкой QTableView::setSortingEnabled(true); Но видимо нужно ещё что то сделать ибо у меня так не работает, почитал книжку Бланшета раздел про БД но там тоже ничего не нашёл. В качестве модели использую QSqlQueryModel.
Записан
BRE
Гость
« Ответ #1 : Сентябрь 01, 2009, 09:10 »

Почитай про SQL-запросы, в частности про ORDER BY:
SELECT ... ORDER BY ...;
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Сентябрь 01, 2009, 09:41 »

Не ну то что так можно решить это мне понятно, но опять же в демке masterdetail никаких лишних запросов не создаётся, ну или я по крайне мере  не нашел где это происходит, я просто думал что это можно решить как то на уровне представления, ну или модели.
Записан
BRE
Гость
« Ответ #3 : Сентябрь 01, 2009, 10:08 »

Не ну то что так можно решить это мне понятно, но опять же в демке masterdetail никаких лишних запросов не создаётся, ну или я по крайне мере  не нашел где это происходит, я просто думал что это можно решить как то на уровне представления, ну или модели.
В masterdetail используется модель QSqlRelationalTableModel, которая для сортировки сама формирует SQL-запрос (добавляя в него ORDER BY). Ты же используешь QSqlQueryModel, который полагается на тебя.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #4 : Сентябрь 01, 2009, 10:27 »

Понятно этого я и боялся, спасибо за ответ.
Записан
voronElf
Гость
« Ответ #5 : Сентябрь 01, 2009, 10:29 »

Для сортировок вроде как подходит QSortFilterProxyModel. Только не знаю точно как сработает на больших объемах данных, QSqlQueryModel частями данные из БД тягает и QSortFilterProxyModel может только выбранные данные отсортировать, эт потестить нада где-то на 1000 записей.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #6 : Сентябрь 01, 2009, 11:32 »

voronElf, +1, то что доктор прописал, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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