![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
silver47 |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток, не знаю в эту ветку или нет.
В общем проблема такая, нужно вывести в QTableView столбец содержащий только время или только дату, а в базе данных (MS SQL 2005) столбец имеет тип datetime, то есть там храниться и дата и время, в итоге получается такое: |
|
|
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Отнаследоваться от используемой модели и корректировать в ней значение или использовать proxy model.
|
|
|
panter_dsd |
![]()
Сообщение
#3
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Или написать свой делегат.
|
|
|
xls |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 6.9.2010 Пользователь №: 2013 Спасибо сказали: 7 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Отнаследоваться от используемой модели и корректировать в ней значение а именно, переопределить QVariant <Ваша модель>::data( const QModelIndex & index , int role ) const Цитата Или написать свой делегат. и написать делегат |
|
|
panter_dsd |
![]()
Сообщение
#5
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
xls, можно и без делегата. Просто преобразовывать QDateTime в QDate и его уже в data возвращать. А можно не наследоваться от модели и в делегате уже преобразовывать.
|
|
|
silver47 |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Мне изменять значение не нужно, нужно лишь отобразить в корректном виде.
|
|
|
panter_dsd |
![]()
Сообщение
#7
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Никто не предлагает тебе изменять значение. Кстати, если используешь QSqlQueryModel, то можно в запросе приводить к нужному, т.е. SELECT some_field::date (что-то типа того)
|
|
|
crashsp |
![]()
Сообщение
#8
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 23.10.2010 Пользователь №: 2144 Спасибо сказали: 8 раз(а) Репутация: ![]() ![]() ![]() |
Если реализована своя модель в функции data в case Qt::DisplayRole: следи в каких колонках следует убирать время и просто возврати значение в формате "dd.MM.yyyy" типо того :
return value.toDateTime().toString("dd.MM.yyyy"); |
|
|
panter_dsd |
![]()
Сообщение
#9
|
![]() Жаждущий знаний ![]() ![]() ![]() Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: ![]() ![]() ![]() |
Зачем так извращаться? return value.toDate () или value.toDateTime ().date ()
Сообщение отредактировал panter_dsd - 17.11.2010, 11:15 |
|
|
silver47 |
![]()
Сообщение
#10
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Никто не предлагает тебе изменять значение. Кстати, если используешь QSqlQueryModel, то можно в запросе приводить к нужному, т.е. SELECT some_field::date (что-то типа того) SELECT CAST(some_field AS type_of_date) Проблема в том, что нет типа TIME, есть только DATETIME ![]() Спасибо. Буду пытаться реализовать свою модель, думал можно как нибудь по проще ![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.2.2025, 16:51 |