• DBGrid中插入DateTimePicker


    DateTimePicker inside a DBGrid  
     
    Here's how to place a TDateTimePicker into a DBGrid. Create visually more attractive user interfaces for editing date/time fields inside a DBGrid - place a drop down calendar into a cell of a DBGrid.  
    
    procedure TForm1.DBGrid1DrawColumnCell
      (Sender: TObject; 
       const Rect: TRect; 
       DataCol: Integer; 
       Column: TColumn; 
       State: TGridDrawState);
    begin
      if (gdFocused in State) then
      begin
        if (Column.Field.FieldName = 'DateAdded') then
        with DateTimePicker 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;
    
          Visible := True;
        end;
      end
    end;
    
    procedure TForm1.DBGrid1ColExit(Sender: TObject);
    begin
      if DBGrid1.SelectedField.FieldName = 'DateAdded' then 
        DateTimePicker.Visible := False
    end;
    
    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (key = Chr(9)) then Exit;
    
      if (DBGrid1.SelectedField.FieldName = 'DateAdded') then
      begin
        DateTimePicker.SetFocus;
        SendMessage(DateTimePicker.Handle, WM_Char, word(Key), 0);
      end
    end;
    
    procedure TForm1.DateTimePickerChange(Sender: TObject);
    begin
      if DBGrid1.DataSource.State in [dsEdit, dsInsert] then
        ADOTable1DateAdded.Value := DateTimePicker.DateTime;
    end;
    
    procedure TForm1.DateTimePickerDropDown(Sender: TObject);
    begin
      DBGrid1.DataSource.Edit;
    end;
  • 相关阅读:
    Unity3d Platformer Pro 2D游戏开发框架使用教程
    程序员如何学习一门新的编程语言
    走进函数式编程
    1001. Exponentiation高精度运算总结
    Kindle PaperWhite3 越狱和PDF插件的安装
    Unity3d中的PlayerPrefs游戏存档API的扩展
    程序员学习路线和学习书单
    1000. A+B Problem
    Mac端SVN工具CornerStone详解
    Unity3d粒子系统详解
  • 原文地址:https://www.cnblogs.com/jijm123/p/11824948.html
Copyright © 2020-2023  润新知