Ни разу не занимался разбором компонентов. В dbgrideh.pas есть такое
Код:
function FormatFieldDisplayValue(Field: TField; DisplayFormat: String): String;
begin
if DisplayFormat = '' then
Result := Field.DisplayText
else if Field.IsNull then
Result := ''
else if Field is TNumericField then
Result := FormatFloat(DisplayFormat, Field.AsFloat)
else if Field is TDateTimeField then
DateTimeToString(Result, DisplayFormat, Field.AsDateTime)
{$IFDEF EH_LIB_6}
else if Field is TSQLTImeStampField then
DateTimeToString(Result, DisplayFormat, Field.AsDateTime)
{$ENDIF}
else if (Field is TAggregateField) and (TAggregateField(Field).ResultType in [ftFloat, ftCurrency]) then
Result := FormatFloat(DisplayFormat, Field.Value)
else if (Field is TAggregateField) and (TAggregateField(Field).ResultType in [ftDate, ftTime, ftDatetime]) then
DateTimeToString(Result, DisplayFormat, Field.Value)
else
Result := '';
end;
Если тут поменять datetime на date. Это не поможет?