| 
| 
 | Вопрос # 3 893/ вопрос решён / | 
 |  Здравствуйте, уважаемые эксперты!В таблице DBGrid есть столбец с именем D типа TDateTime.
 Как для ввода данных в этом поле использовать компонент DateTimePicker?
 Спасибо!
 
|  |   Вопрос задал: Цыцарев Вадим Николаевич (статус: Посетитель)Вопрос отправлен: 16 марта 2010, 13:14
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Егор Здравствуйте, Цыцарев Вадим Николаевич!Ну, DBGrid тут не при чём. Вы же к DBGrid'у подключаете что-то? ADOQuery/ADOTable или Query/Table, вот с этими компонентами и надо работать. Код для ADOTable должен выглядеть примерно так:
 
 ...
  ADOTable1.Edit;  // открыли запись для редактирования
  ADOTable1.FieldByName('D').AsDateTime := DateTimePicker1.Date;  // запишем дату из DateTimePicker
  ...                                                             // заполним другие поля
  ADOTable1.FieldByName('...').AsXXX := ...;                      // заполним другие поля
  ADOTable1.FieldByName('...').AsXXX := ...;                      // заполним другие поля
  ...                                                             // заполним другие поля
  ADOTable1.Post;  // сохраним запись в базе
...Если запись нужно не редактировать, а создавать новую, то вместо ADOTable1.Edit используем ADOTable1.Insert.
|  | Ответ отправил: Егор (статус: 10-ый класс)Время отправки: 16 марта 2010, 17:17
 
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 16 марта 2010, 20:27; участников в обсуждении: 2. 
|   | Цыцарев Вадим Николаевич (статус: Посетитель), 16 марта 2010, 20:05 [#1]:Уважаемый Егор! Уточню вопрос. Мне нужно, чтобы DateTimePicker открывлся в ячейке TDBGrid, которую мне нужно редактировать.
 Моя TDBGrid связана с набором данных TIBDataSet.
 |  
|   | Егор (статус: 10-ый класс), 16 марта 2010, 20:27 [#2]:во! вот это уже интереснее задача  в своё время сам таким маялся
  можно посмотреть тут вариант решения
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  13 мая 2013, 14:12: Статус вопроса изменён на решённый (изменил модератор DNK) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |