Тема: DateTimePicker
Показать сообщение отдельно
  #18  
Старый 10.02.2016, 14:51
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Как я понял, вам надо нечто такое:
Код:
unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Grids, DBGrids, DB, ADODB;

type
  TForm9 = class(TForm)
    Button1: TButton;
    PageControl1: TPageControl;
    ADOConnection1: TADOConnection;
    ListBox1: TListBox;
    DateTimePicker1: TDateTimePicker;
    procedure Button1Click(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure DBGridCellClick(Column: TColumn);
    procedure DateTimePicker1Change(Sender: TObject);
  end;

var
  Form9: TForm9;

implementation

{$R *.dfm}

procedure TForm9.DBGridCellClick(Column: TColumn);
begin
 if Column.Field.DataType in [ftDate,ftDateTime]
 then begin
      DateTimePicker1.Tag := Integer(Column.Field);
      DateTimePicker1.DateTime := Column.Field.AsDateTime;
      DateTimePicker1.Left := Mouse.CursorPos.X - Left - 5;
      DateTimePicker1.Top := Mouse.CursorPos.Y - Top - 30;
      DateTimePicker1.Show;
      end;
end;

procedure TForm9.DateTimePicker1Change(Sender: TObject);
Var
  Field: TField;
begin
 Field := TField(DateTimePicker1.Tag);
 Field.DataSet.Edit;
 Field.Value := DateTimePicker1.DateTime;
 Field.DataSet.Post;
 DateTimePicker1.Hide;
end;

procedure TForm9.ListBox1DblClick(Sender: TObject);
Var
  TabSheet: TTabSheet;
  Grid: TDBGrid;
  Tbl: TAdoTable;
  i: Integer;
  DateField: TDateTimePicker;
begin
 TabSheet := TTabSheet.Create(PageControl1);
 TabSheet.PageControl := PageControl1;
 TabSheet.Caption := ListBox1.Items[ListBox1.ItemIndex];
 PageControl1.TabIndex := PageControl1.PageCount - 1;
 Tbl := TAdoTable.Create(TabSheet);
 Tbl.Connection := ADOConnection1;
 Tbl.CursorLocation := clUseServer;
 Tbl.TableName := ListBox1.Items[ListBox1.ItemIndex];
 Grid := TDBGrid.Create(TabSheet);
 Grid.Parent := TabSheet;
 Grid.Align := alClient;
 Grid.DataSource := TDataSource.Create(TabSheet);
 Grid.DataSource.DataSet := Tbl;
 Grid.OnCellClick := DBGridCellClick;
 Tbl.Open;
end;

procedure TForm9.Button1Click(Sender: TObject);
begin
 ADOConnection1.Open;
 ADOConnection1.GetTableNames(ListBox1.Items);
end;

end.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием