Существует сильнейшая библиотека компонентов для работы с базами данных, под названием - EhLib. Так вот, аналогом стандартного DBGrid, в этой
библиотеке является компонент DBGridEh. По сравнению с DBGrid, DBGridEh более гибкий и обладает гораздо большим диапазоном настроек.
В частности, для того чтобы отображать в ячейках какого либо столбца, выпадающий календарь DateTimePicker,
1) В базе Access в соответствующем столбце, тип указать - Дата/время;
2) Кликаем дважды по гриду, в редакторе столбцов - Editing DbGridEh1Columns выбираем Add All Fields, выделяем наш столбец и переходим к инспектору объектов.
3) Свойство AlwaysShowEditButton, ставим в true;
4) Чтобы компилятор не ругался на пустую строку типа '' - не является типом DateTime, на кнопке для добавления новых строк, как вариант можно прописать следующее:
var a:Tdate;
begin a:=Date;
AdoTable1.Insert; // Добавляем в таблицу новую строку;
AdoTable1.FieldByName('имя столбца').AsDateTime:=a;
//Присваиваем ячейке текущую дату;
AdoTable1.Post;
end;
5) Запускаем проект; Теперь при вводе даты, ошибок возникать не будет, поскольку строке будет присваиваться текущая дата уже при добавлении, и поле не будет пустым.
1) В базе Access в соответствующем столбце, тип указать - Дата/время;
2) Кликаем дважды по гриду, в редакторе столбцов - Editing DbGridEh1Columns выбираем Add All Fields, выделяем наш столбец и переходим к инспектору объектов.
3) Свойство AlwaysShowEditButton, ставим в true;
4) Чтобы компилятор не ругался на пустую строку типа '' - не является типом DateTime, на кнопке для добавления новых строк, как вариант можно прописать следующее:
var a:Tdate;
begin a:=Date;
AdoTable1.Insert; // Добавляем в таблицу новую строку;
AdoTable1.FieldByName('имя столбца').AsDateTime:=a;
//Присваиваем ячейке текущую дату;
AdoTable1.Post;
end;
5) Запускаем проект; Теперь при вводе даты, ошибок возникать не будет, поскольку строке будет присваиваться текущая дата уже при добавлении, и поле не будет пустым.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.