初始化日期时间格式的习惯
默认的lazarus DBGrid选择Datetime类型时是没有下拉选择日期的,按以下方法就能实现下拉选择日期。
0]该字段一定要是date类型的。
CREATE TABLE "main"."NewTable" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
"username" TEXT,
"password" date
)
;
1]在界面放一个DBDateTimePicker控件,并设置好DataSource和DateField, 控件的Visibler为false,
2]在DBGrid的OnSelectEditor添加下面的代码就可以。
procedure TForm1.DBGrid1SelectEditor(Sender: TObject; Column: TColumn;
var Editor: TWinControl);
begin
if (TDBGrid(Sender).SelectedField.DataType=ftDateTime) or (TDBGrid(Sender).SelectedField.DataType=ftDate) then
begin
DBDateTimePicker1.DataSource:=TDBGrid(Sender).DataSource;
DBDateTimePicker1.DataField:=TDBGrid(Sender).SelectedField.FieldName;
DBDateTimePicker1.boundsRect:=TDBGrid(Sender).SelectedFieldRect;
Editor:=DBDateTimePicker1;
end;
end;
3]提交 修改后的 日期 数据
procedure TForm1.DBDateTimePicker1Change(Sender: TObject);
begin
SQLQuery1.Post;
end;