Das DBCtrlGrid war schon immer mit Vorsicht zu geniesen - nicht alle datensensitiven Controls funktionieren darauf richtig.
Grund dafür ist, dass da im DBCtrlGrid im Hintergrund ganz schön getrickst wird.
Delphi-Quellcode:
procedure TDBDateTimePicker.DataChange(Sender: TObject);
begin
if FDataLink.Field <>
nil then begin
if FDataLink.Field.DataType = ftDate
then DateTime := FDataLink.Field.AsDateTime;
end;
// folgende Zeile bitte vielleicht mal auskommentieren
// TDateTimerPicker merkt von selbst, dass sich das Property DateTime geändert hat
// und zeichnet sich dann selbst neu
// das zusätzliche RedrawWindow ist dann doppel gemoppelt
if HandleAllocated
then RedrawWindow(
Handle,
nil, 0, RDW_INVALIDATE
or RDW_ERASE
or RDW_FRAME);
end;