У меня есть огненная обезьяна TGrid
элемент управления, который, кажется, обнаруживает, что текст внутри ячейки является датой-временем, а затем применяет свое собственное форматирование к ячейке. Например, у меня есть три строки, которые генерируются и помещаются в строку в сетке.
FSch_Text = StdDate( FOrd_Evt->SCH_DATE ) + " PM";
FGive_Text = StdDate( FOrd_Evt->GIVE_DATE) + " PM";
FPost_Text = StdDate( FOrd_Evt->POST_DATE ) + " " + StdTime( FOrd_Evt->POST_TIME );
Когда эти строки помещаются в ячейки сетки, можно ожидать, что результаты будут выглядеть примерно так:
12/30/2015 PM | 12/30/2015 PM | 12/30/2015 1:00PM
Тем не менее, реальные результаты, которые я получаю:
PM 12/30/2015 | PM 12/30/2015 | 1:00PM 12/30/2015
(обратите внимание, что в третьей строке дата появляется первой, когда строка создается, однако время приходит первым, когда она находится в ячейке сетки)
Я пришел к выводу, что сетка обнаруживает даты и применяет свое собственное форматирование, изменяя создание моих строк следующим образом:
FSch_Text = "Foo " + StdDate( FOrd_Evt->SCH_DATE ) + " PM";
FGive_Text = "Bar " + StdDate( FOrd_Evt->GIVE_DATE) + " PM";
FPost_Text = "Foobar " + StdDate( FOrd_Evt->POST_DATE ) + " " + StdTime( FOrd_Evt->POST_TIME );
После этого строки появляются в своих ячейках так же, как и следовало ожидать:
Foo 12/30/2015 PM | Bar 12/30/2015 PM | Foobar 12/30/2015 1:00PM
Таким образом, это выглядит как TGrid
Элемент управления автоматически применяет формат даты, когда время идет первым, а затем дата.
Я просмотрел список свойств / опций для TGrid
контроль, и не мог найти ничего о настройке формата дат.
Что я вижу задокументированное поведение, которое я как-то пропустил? Как я могу контролировать формат даты внутри ячейки?
Задача ещё не решена.
Других решений пока нет …