Russian Qt Forum

Qt => Вопросы новичков => Тема начата: anastasiia_kh от Февраль 15, 2017, 07:41



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


Название: Re: Сортировка в столбце в QTableView по дате
Отправлено: Пантер от Февраль 15, 2017, 09:17
Как вариант, установить свою QSortFilterProxyModel, для нее выставить setSortRole и из модели в методе data для этой роли возвращать unixtime.


Название: Re: Сортировка в столбце в QTableView по дате
Отправлено: GreatSnake от Февраль 15, 2017, 12:28
Помещай в модель не строку (QString) отображающую дату, а саму дату (QDate).