DBGrid中插入DateTimePicker
procedure TForm13.DateTimePicker1Change(Sender: TObject); //写回 日期 begin DBGrid1.DataSource.Edit; DBGrid1.Columns[2].Field.Value := DateTimePicker1.DateTime; //2 为 'DateAdded'所在的列序号 fdquery1.Post; end; procedure TForm13.DateTimePicker1KeyPress(Sender: TObject; var Key: Char); begin if (key = Chr(13)) then begin //手动 在 DateTimePicker1输入日期数字后,按回车 保存到 数据库 DateTimePicker1.Visible:= false; DBGrid1.DataSource.Edit; DBGrid1.Columns[2].Field.Value := DateTimePicker1.DateTime; fdquery1.Post; end; end; procedure TForm13.DBGrid1ColExit(Sender: TObject);// 退出 时,不显示 编辑 控件 begin if DBGrid1.SelectedField.FieldName = 'password' then DateTimePicker1.Visible := False; end; procedure TForm13.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (gdFocused in State) then begin if (Column.Field.FieldName = 'password') then with DateTimePicker1 do begin Left := Rect.Left + DBGrid1.Left + 1; Top := Rect.Top + DBGrid1.Top + 1; Width := Rect.Right - Rect.Left + 2; Width := Rect.Right - Rect.Left + 2; Height := Rect.Bottom - Rect.Top + 2; DateTimePicker1.Date:= Column.Field.Value;// 数据库 传给 DateTimePicker1 Visible := True; end; end end; procedure TForm13.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if (key = Chr(9)) then Exit; //TAB键 直接 退出 if (DBGrid1.SelectedField.FieldName = 'password') then begin DateTimePicker1.SetFocus; SendMessage(DateTimePicker1.Handle, WM_Char, word(Key), 0); end end; procedure TForm13.FormCreate(Sender: TObject); begin FormatSettings.DateSeparator := '-'; FormatSettings.TimeSeparator := ':'; FormatSettings.ShortDateFormat := 'yyyy-MM-dd'; FormatSettings.LongDateFormat := 'yyyy-MM-dd'; FormatSettings.TimeAMString := ''; FormatSettings.TimePMString := ''; FormatSettings.ShortTimeFormat := 'hh:nn:ss'; FormatSettings.LongTimeFormat := 'hh:nn:ss:zzz'; end;
分类:
Delphi原生DBGrid学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2013-01-04 转载:在DELPHI中如何使用*.dcu文件