crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QTableView и вывод времени
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
silver47 Дата 18.11.2010, 9:57
  MS SQL 2005 не поддерживает отдельно формат Время, отдельно Дата, отсюда мораль: или обновляйтесь до 2008 или подобный костыль в запросе:

SQL
CONVERT(VARCHAR(8 ), yourField, 8 )
- выведет время в формате чч:мм:сс
SQL
CONVERT(VARCHAR(10), yourField, 104)
- выведет дату в формате дд.мм.гггг

Другие варианты форматов тут.
silver47 Дата 17.11.2010, 13:57
 
Цитата(silver47 @ 17.11.2010, 15:44) *
Цитата(panter_dsd @ 17.11.2010, 13:44) *
Можешь в запросе сразу привести к строке.


гм... ну да... можно попробывать и в запросе отредактировать строку вырезать из нее дату, но через задницу получается, лучше уж делегатов написать для отображения каждой колонки. Где можно про это почитать в примерах? Спасибо.

QTableView -> setItemDelegateForColumn (int column, QAbstractItemDelegate * delegate)
Как QTimeEdit сделать QAbstractItemDelegate

panter_dsd Дата 17.11.2010, 13:50
  В ассистенте же.
silver47 Дата 17.11.2010, 13:44
 
Цитата(panter_dsd @ 17.11.2010, 13:44) *
Можешь в запросе сразу привести к строке.


гм... ну да... можно попробывать и в запросе отредактировать строку вырезать из нее дату, но через задницу получается, лучше уж делегатов написать для отображения каждой колонки. Где можно про это почитать в примерах? Спасибо.
panter_dsd Дата 17.11.2010, 11:44
  Можешь в запросе сразу привести к строке.
silver47 Дата 17.11.2010, 11:43
 
Цитата(panter_dsd @ 17.11.2010, 12:36) *
Никто не предлагает тебе изменять значение. Кстати, если используешь QSqlQueryModel, то можно в запросе приводить к нужному, т.е. SELECT some_field::date (что-то типа того)


SELECT CAST(some_field AS type_of_date)

Проблема в том, что нет типа TIME, есть только DATETIME :(

Спасибо. Буду пытаться реализовать свою модель, думал можно как нибудь по проще :)
panter_dsd Дата 17.11.2010, 11:14
  Зачем так извращаться? return value.toDate () или value.toDateTime ().date ()
crashsp Дата 17.11.2010, 11:01
  Если реализована своя модель в функции data в case Qt::DisplayRole: следи в каких колонках следует убирать время и просто возврати значение в формате "dd.MM.yyyy" типо того :
return value.toDateTime().toString("dd.MM.yyyy");
panter_dsd Дата 17.11.2010, 10:36
  Никто не предлагает тебе изменять значение. Кстати, если используешь QSqlQueryModel, то можно в запросе приводить к нужному, т.е. SELECT some_field::date (что-то типа того)
silver47 Дата 17.11.2010, 10:33
  Мне изменять значение не нужно, нужно лишь отобразить в корректном виде.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 14.5.2024, 19:24