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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сортировка в столбце в QTableView по дате  (Прочитано 2917 раз)
anastasiia_kh
Гость
« : Февраль 15, 2017, 07:41 »

Здравствуйте. В данной теме я новичок, поэтому попрошу отнестись с пониманием.
У меня идет чтение из csv файла и записывает в табличку данные построчно. с помощью tableView->setSortingEnabled(true); по нажатию в хэдере все сортируется по алфавиту. Но тогда в столбике ДАТА (формат запись дд.ММ.гггг) тоже сортировка идет по алфавиту.  Использовав QDate::fromString(item, "dd.MM.yyyy").toString("yyyy.MM.dd"))  дата перезаписалась в другом уже формате и сортировка в данном случае правильна, но хотелось бы чтобы сортировка шла без изменении формата записи. Подскажите пожалуйста, как можно это сделать? При создании таблицы использую QStandardModel.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 15, 2017, 09:17 »

Как вариант, установить свою QSortFilterProxyModel, для нее выставить setSortRole и из модели в методе data для этой роли возвращать unixtime.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Февраль 15, 2017, 12:28 »

Помещай в модель не строку (QString) отображающую дату, а саму дату (QDate).
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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