Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Связка DBGrid и DateTimePicker


Автор: SareN 27.8.2009, 15:17
[ВОПРОС]

Имеется таблица (DBGrid):
________________________________________
Наименование          |          Дата поступления
________________________________________
Монитор Acer                |  18/05/09
Телефон Nokia              |  20/05/09
Принтер HP                   |  23/05/09
________________________________________

и имеется компонент DateTimePicker:    |__18/05/09___|

Нужно замутить, чтобы при переходе по записям в DBGrid менялось соответственно и значение компонента DateTimePicker,
т.е. при переходе на 2 запись в нём должно быть 20/05/09, на третью - 23/05/09 и т.д.

Таким образом мне необходимо получить возможность автоматизированного изменения даты поступления и дальнейшее сохранение новой даты поступления в исходной таблице *.dbf

(DBEdit не предлогать!! Мне нужна автоматизация изменения даты, т.е. всплывающий календарь!)
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО! smile))

Автор: Akella 27.8.2009, 16:40
Цитата(SareN @  27.8.2009,  15:17 Найти цитируемый пост)
Нужно замутить, чтобы при переходе по записям в DBGrid менялось соответственно и значение компонента DateTimePicker,

TDataSource.Onchange?

Автор: Данкинг 27.8.2009, 16:56
Цитата(SareN @  27.8.2009,  16:17 Найти цитируемый пост)
Мне нужна автоматизация изменения даты, т.е. всплывающий календарь!)

Не понял: какая автоматизация? 

Автор: SareN 27.8.2009, 20:19
Вот скрин формы:          http://pic.ipicture.ru/uploads/090827/2PE1ao1RgQ.jpg

- здесь у меня дата приёма и другие даты отображаются в компоненте DBEdit (вверху справа) (замечание: у этого компонента есть DataSource в отличии от DateTimePicker).
- когда я перемещаюсь по записям в DBEdit все данные в верхних компонентах изменяются в соответствии с выбранной записью в DBEdit в т.ч. и даты (это всё правильно!!), но:
- допустим мне приходится изменить дату окончания ремонта. В результате придётся вбивать дату вручную (ещё и не поймут в каком формате).
- поэтому необходимо сделать автоматизированный ввод даты со всплывающим календариком (по нажатию стрелочки на компоненте DateTimePicker к примеру!!!).  
                                               
                                           Вроде должно быть понятно!!

Автор: Akella 28.8.2009, 09:02
Цитата(SareN @  27.8.2009,  20:19 Найти цитируемый пост)
- поэтому необходимо сделать автоматизированный ввод даты со всплывающим календариком (по нажатию стрелочки на компоненте DateTimePicker к примеру!!!).  

ну так кинь на форму DateTimePicker, поищи нужные события и напиши код изменения даты в одном из событий

Добавлено через 2 минуты и 10 секунд
Не знаю, какие у тебя там компоненты доступа, но неужели не додуматься до такого простейшего кода?
Код

procedure TForm1.DateTimePicker1CloseUp(Sender: TObject);
begin
  Dataset1.Edit;
  Dataset1.FieldByName('нужное поле').AsDateTime := DateTimePicker1.DateTime;
  Dataset1.post;
end;


Автор: SareN 28.8.2009, 12:00
Спасибо за совет!!!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)