![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Использую компонент DBGrid для отображения содержимого таблицы БД. В ней есть поле типа Date. Когда происходит редактирование строки таблицы, нужно чтобы при нажатии на поле (типа Date) выскакивал календарь, т.е. каждое поле колонки реализует функции компонента DateTimePicker. Как это можно реализовать? Может кто уже встречался с такой проблемой?
Заранее благодарен |
|
#2
|
||||
|
||||
|
надо прорисовывавть datetimepicker при входе в ячейку. По аналогии с прорисовкой кнопки в dbgrid, поищи на форуме тема не раз уже поднималась.
|
|
#3
|
|||
|
|||
|
Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if Column.FieldName = 'Date' then
begin
DateTimePicker1.DateTime := Table1.FieldByName('Date').AsDateTime;
DateTimePicker1.Left := Mouse.CursorPos.X - Left - 5;
DateTimePicker1.Top := Mouse.CursorPos.Y - Top - 30;
DateTimePicker1.Show;
end;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
Table1.Edit;
Table1.FieldValues['Date'] := DateTimePicker1.DateTime;
Table1.Post;
DateTimePicker1.Hide;
end;Последний раз редактировалось Kapitoshka438, 09.12.2009 в 09:03. |
|
#4
|
|||
|
|||
|
Спасибо
Все работает |