Mira este ejemplo, necesitas una rejilla conectado a un datasource con un campo del tipo Date, yo lo he hecho con DbDebmos - Orders.db y un DateTimePicker con la propiedad Visible actividad inicialmente.
Código Delphi
[-]
implementation
{$R *.DFM}
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
if DbGrid1.Columns [DbGrid1.SelectedIndex].
Field = Table1Saledate then
DateTimePicker1.Visible := True
else
DateTimePicker1.Visible := False;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
Table1.Edit;
Table1Saledate.Value:=Trunc(DateTimePicker1.Date);
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdFocused in State) and
(Column.Field = Table1Saledate) then
begin
DateTimePicker1.SetBounds (
Rect.Left + DBGrid1.Left + 1,
Rect.Top + DBGrid1.Top + 1,
Rect.Right - Rect.Left,
Rect.Bottom - Rect.Top);
DateTimePicker1.Date:=Trunc(Table1Saledate.Value);
end;
end;
Un Saludo.