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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: QSqlTableModel тормозит когда включен сортинг  (Прочитано 9004 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #15 : Март 10, 2011, 16:43 »

индекс не сохраняется, модель-то резетится. Мне по-хорошему надо оставаться на старой записи, а не на конкретной строке. (то есть для реверса это будет rowCount() - currentRow()). Другого способа нет?
Записан
twp
Гость
« Ответ #16 : Март 10, 2011, 16:44 »

можно попробовать сохранить текущий индекс в QPersistentModelIndex
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #17 : Март 10, 2011, 17:34 »

хм... а не получится что как раз номера строки/колонки сохранятся? мне-то все ж таки содержимое надо сохранить.
Записан
asvil
Гость
« Ответ #18 : Март 10, 2011, 18:17 »

нужно отловить сигнал начала сортировки (aboutToBeReset).
затем сохранить primaryKey.
затем отловить сигнал о конце сортировки (reset).
пройтись по всем загруженным записям и найти нужную.
сделать select для selection модели.

ах да, еще нужно номер колонки сохранить.
Записан
twp
Гость
« Ответ #19 : Март 10, 2011, 18:17 »

уже точно не помню, но вроде в одном проекте использовался такой способ. Вроде модель отслеживает изменения  иобновляет QPersistentModelIndex, А проверка не дала ответа, подходит ли такой способ?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #20 : Март 10, 2011, 18:36 »

Пока не тестил, завтра может попробую... Сейчас другие дела есть, профилирую скорость работы разных моделей:)
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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