Привет. Добрался до форума. Продолжаем разговор.
Значит мы остановились на том, что надо организовать совместную работу базы и DateTimePicker.
Поскольку компонент не оснащен методами автоматического получения/изменения данных в таблице, значит делать придется самому ручками.
1. Озаботимся тем, что-бы данные из текущей записи в таблице автоматом попадали в наш компонент DateTimePicker. Для этого в событиях AfterScroll и AfterPost для TAdoTable или TAdoQuery пропишем такой код:
Код:
procedure TForm1.AdoQuery1AfterScroll(DataSet: TDataSet);
begin
if DataSet.State = dsBrowse
then DateTimePicker1.DateTime := DataSet.FieldByName('MyDate').AsDateTime;
end;
procedure TForm1.AdoQuery1AfterPost(DataSet: TDataSet);
begin
DateTimePicker1.DateTime := DataSet.FieldByName('MyDate').AsDateTime;
end;
2. Теперь надо сделать так, что-бы изменения в DateTimePicker вносились в БД. В событии OnChange для нашего DateTimePicker припишем такой код:
Код:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
if AdoQuery1.FieldByName('MyDate').AsDateTime <> DateTimePicker1.DateTime
then begin
AdoQuery1.Edit;
AdoQuery1.FieldByName('MyDate').AsDateTime := DateTimePicker1.DateTime;
AdoQuery1.Post;
end;
end;
Вот собственно и все.