Russian Qt Forum

Qt => Qt Quick => Тема начата: RustAlex от Апрель 15, 2016, 17:30



Название: Группировка элементов в ListView
Отправлено: RustAlex от Апрель 15, 2016, 17:30
Приветствую всех!
Хочу сгруппировать в списке элементы по дате.
Поле в котором хранится дата в формате Timestamp (помимо даты присутсвует время)

Если в ListView группировку записать так:
Код
C++ (Qt)
section.property: "dateTimeStamp"
section.criteria: invConvertStrDate_tToStr( ViewSection.FullString )
  section.delegate: Rectangle {
       Text {
             text: invConvertStrDate_tToStr( section )
       }
}
invConvertStrDate_tToStr() - функция конвертирует dateTimeStamp в короткий формат
Группируются записи, но беда в том что каждая группа содержит один элемент - до секунд совпадения нет :).
Как заставить группировать записи только по дате, ведь в  section.property надо задать имя роли.

Не получается сунуть функцию  invConvertStrDate_tToStr( ViewSection.FullString ) в section.property

Конечно можно в базу писать помимо timestamp еще и строку даты в формате yyyy.MM.dd и подставлять эту соответствующую роль, но неужели нельзя делать это налету?


Название: Re: Группировка элементов в ListView
Отправлено: lit-uriy от Апрель 18, 2016, 09:38
не работал с QtQuick, но ведь из БД можно выбирать уже сгруппированные данные


Название: Re: Группировка элементов в ListView
Отправлено: RustAlex от Апрель 18, 2016, 16:22
У меня в базе дата хранится в формате TIMESTAMP: 1444301776
Т.е. присутствует и дата и время и секунды...
и соответственно полное совпадение и требуется для группировки сообщений, а мне нужна только дата.
Не хочется писать в отдельное поле текстовую дату... в связи с этим и задан вопрос, как в ListView на лету преобразовать поле, по которому хочется группировать.