⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectitem.pas

📁 delphi制作表格的控件
💻 PAS
字号:
unit SelectItem;

interface

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

type
  TSelectItemForm = class(TForm)
    DataSource: TDataSource;
    DBGrid: TDBGrid;
    SetBtn: TSpeedButton;
    SaveBtn: TSpeedButton;
    SelectBtn: TSpeedButton;
    RefreshBtn: TSpeedButton;
    ExitBtn: TSpeedButton;
    LabeledEdit: TLabeledEdit;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ExitBtnClick(Sender: TObject);
    procedure RefreshBtnClick(Sender: TObject);
    procedure SelectBtnClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateColumns;
  end;

var
  SelectItemForm: TSelectItemForm;

implementation

{$R *.dfm}

procedure TSelectItemForm.CreateColumns;
var I,Count,Value:Integer;
    Col:TColumn;
    DataSet:TDataSet;
begin
   DataSet:=DataSource.DataSet;
   if DataSet=nil then Exit;
   Value:=DataSet.Tag;
   Count:=DataSet.FieldCount-1;
   for I:= 0 to Count do
   begin
      Col:=DBGrid.Columns.Add;
      Col.Title.Caption:=DataSet.Fields[I].DisplayLabel;
      Col.FieldName := DataSet.Fields[I].FieldName;
      Col.Visible:=DataSet.Fields[I].Visible;
      if Value=1 then Col.Width:=DataSet.Fields[I].DisplayWidth;
   end;
end;


procedure TSelectItemForm.SelectBtnClick(Sender: TObject);
begin
   if not DataSource.DataSet.IsEmpty then
      ModalResult:=mrOK;
end;

procedure TSelectItemForm.RefreshBtnClick(Sender: TObject);
begin
   if DataSource.DataSet.Active then DataSource.DataSet.Close;
   DataSource.DataSet.Open;
end;

procedure TSelectItemForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Case Key of
    VK_ESCAPE:
    begin
      Key:=0;
      ModalResult:=mrCancel;
    end;
    VK_RETURN:
    begin
      Key:=0;
      SelectBtn.Click;
    end;
    VK_F8:
    begin
      Key:=0;
      RefreshBtn.Click;
    end;
    VK_UP:if not DataSource.DataSet.Bof then DataSource.DataSet.Prior;
    VK_DOWN:if not DataSource.DataSet.Eof then DataSource.DataSet.Next;
  end;
end;

procedure TSelectItemForm.ExitBtnClick(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -