|
|
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите, пожалуйста, как правильным образом отображать значение поля типа datetime в гриде, я в свойстве Displayformat поля ставлю dd.mm.yyyy hh:MM:ss, при работе приложения всё отображает правильно, но при входе в режим редактирования поля, значение отображается в каком-то непонятном виде, если установить Editmask, то тоже показывается ввод по маске, а мне хотелось, чтобы при переходе в этот режим корректно отображалась дата и время. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 11:57:17 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
patrick1968чтобы при переходе в этот режим корректно отображалась дата и время А сейчас как отображается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 12:08:25 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
И какие компоненты используются (что за грид)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 12:11:20 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
при отображении 09.11.2017 14:06:50 - это правильно, а при входе в редактирование становится 2017-11-09 14:06:50 14:06:50 (почему-то время дважды) и формат даты сменился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 12:16:43 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
сравни DisplayFormat и EditFormat у "проблемного" поля. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:03:32 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
У поля ADOQuery, также как и у Columns[i] грида нет такого свойства как EditFormat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:43:28 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Компонент dbgrideh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 15:50:19 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
13.11.2017 15:43, patrick1968 пишет: > нет такого свойства как EditFormat ну значит EditMask, или что-то подобное. чЮдес на свете не бывает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:12:23 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Там у dbgrideh вообще-то DateEdit-контрол должен появляться с выбором из календаря (а не обычное текстовое поле с вводом по маске). Может тип колонки неправильно определился в датасете? Надо щелкнуть по датасету, выбрать Fields, выбрать нужное поле (если нет, то добавить в список все поля через add all fields), после чего посмотреть класс у поля -- он должен быть TDateField быть. Вот так: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:49:29 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Если в EditMask вписать шаблон даты, то при в ходе в редактирование вместо даты я вижу 10.__.__, но это также не интересно, может шаблон какой другой долженн быть а не !99.99.00;1;_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 16:53:04 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Удали колонку (Column) из грида и добавь заново. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 17:08:42 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Что только не перепробовал - бесполезно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 17:54:38 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Чудес не бывает. Выкладывай архив с проектом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 19:33:13 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Проблемы с форматом даты надо решать на уровне SQL-запроса, а не приложения. Надо в SQL-запросе установить нужный формат функцией DATEFORMAT (или подобной - не знаю какой диалект SQL используется в БД, но в любом есть функция форматирования даты)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 19:57:15 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
patrick1968при входе в редактирование становится 2017-11-09 14:06:50 14:06:50 в настройках системы небось такой формат впилил. Проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2017, 20:05:44 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
не думаю, что запрос здесь как-то влияет, вот его вид: SET DATEFORMAT dmy; SELECT sh.ShiftID, CAST(sh.OutTime as DATETIME) OutTime, sh.CarID, c.RegNum, sh.OutDriverID, (d.FirstName + ' ' + SUBSTRING(d.LastName, 1,1) + '.' + SUBSTRING(d.SecondName, 1, 1) + '.') as OutDriverName, sh.OutUser, u.USERNAME as OUTUSERNAME, sh.OutRun, CAST(sh.InTime as DATETIME) InTime, sh.InDriverID,(d1.FirstName + ' ' + SUBSTRING(d1.LastName, 1,1) + '.' + SUBSTRING(d1.SecondName, 1, 1) + '.') as InDriverName, sh.InRun, sh.InUser, u1.USERNAME as INUSERNAME, sh.ShiftCash, sh.CashUser, u2.USERNAME as CASHUSERNAME, sh.ShiftOnBoard FROM dbo.Shifts sh left outer join dbo.Cars c on (c.CarID = sh.CarID) left outer join dbo.Drivers d on (d.DriverID = sh.OutDriverID) left outer join dbo.Drivers d1 on (d1.DriverID = sh.InDriverID) left outer join dbo.USERS u on (u.USERID = sh.OutUser) left outer join dbo.USERS u1 on (u1.USERID = sh.InUser) left outer join dbo.USERS u2 on (u2.USERID = sh.CashUser ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 09:45:30 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
d7iПроблемы с форматом даты надо решать на уровне SQL-запроса, а не приложения. Надо в SQL-запросе установить нужный форматОга, конечно. А на клиенте конечно же выкусывать дату из строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 09:56:41 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
patrick1968SET DATEFORMAT dmy; SELECT sh.ShiftID, CAST(sh.OutTime as DATETIME) OutTime OutTime - строковое поле в формате dmy? Прикольно. Но проблема, скорей всего, всетаки в системном формате даты на клиенте, как kdv уже писал. Если проверишь его и ничего не заметишь необычного - смени на другой, и посмотри на результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 10:02:04 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Почему это строковое поле? CAST(sh.OutTime as DATETIME) OutTime, просто если в запросе написать sh.OutTime, то при открытии ADOQuery будет ошибка, в связи с этим и приходится таким образом извращаться (поле типа datetime еще раз преобразовывать в datetime), хотя в данном запросе set dateformat никак не влияет, он так остался с предыдущего запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 10:12:12 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
а настройки формата на клиенте самые обыкновенные, вот Модератор: Вложение удалено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 10:17:16 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
patrick1968> если в запросе написать sh.OutTime, то при открытии ADOQuery будет ошибка Текст ошибки какой ? Проверь на новом (чистом) проекте - увидишь, что всё работает правильно. И скриншоты научись прикладывать правильно (обрезать лишнее). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 11:03:57 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Сейчас уже точный текст ошибки не воспроизведу, но что-то вроде "Неверный тип поля, ожидался widestring а в реалиях datetime"после того как в запросе вместо поля поставил преобразование CAST ошибка исчезла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 11:28:14 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
Зачем вспоминать, когда можно убрать cast и проверить? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 11:32:05 |
|
||
|
Неверное отображение значения
|
|||
|---|---|---|---|
|
#18+
patrick1968Сейчас уже точный текст ошибки не воспроизведу, но что-то вроде "Неверный тип поля, ожидался widestring а в реалиях datetime"после того как в запросе вместо поля поставил преобразование CAST ошибка исчезлаЭто потому, что поле на форме оформлено как TDateTimeField, а в базе оно - строка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2017, 12:52:07 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=126&tid=2041589]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 337ms |

| 0 / 0 |
