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

📄 fieldselect.~pas

📁 一个很好用的万能查询控件。部分代码经过更改。
💻 ~PAS
字号:
unit FieldSelect;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBGridEh,  ExtCtrls, DBGrids,
   CheckLst;

type
  TfrmFieldSelect = class(TForm)
    Button1: TButton;
    Button2: TButton;
    GroupBox1: TGroupBox;
    cl: TCheckListBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private

  public
    { Public declarations }
  end;


var
  frmFieldSelect: TfrmFieldSelect;
implementation

uses FindClass;

{$R *.DFM}



procedure TfrmFieldSelect.RadioButton1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to cl.Items.Count - 1 do
    cl.Checked[i] := True;

end;

procedure TfrmFieldSelect.RadioButton2Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to cl.Items.Count - 1 do
    cl.Checked[i] := False;

end;

procedure TfrmFieldSelect.FormShow(Sender: TObject);
 var
  i, j: integer;
begin
  cl.Items.Clear;
  if gbIsDBGridEh then
  with gFForm do begin
      for j := 0 to ComponentCount - 1 do
        if Components[j] is TDBGridEh then
        if (Components[j] as TDBGridEh).Name = gsGridName then begin
            for i := 0 to (Components[j] as TDBGridEh).Columns.Count - 1 do
              begin
                cl.Items.Add((Components[j] as TDBGridEh).Columns[i].Title.Caption);
                cl.Checked[i] := True;
              end;
          end;
    end;
  if gbIsDBGrid then
    with gFForm do begin
      for j := 0 to ComponentCount - 1 do
        if Components[j] is TDBGrid then begin
          if (Components[j] as TDBGrid).Name = gsGridName then begin
            FDBGrid := TDBGrid(Components[j]);
            for i := 0 to FDBGrid.Columns.Count - 1 do
            begin
                cl.Items.Add(FDBGrid.Columns[i].Title.Caption);
                cl.Checked[i] := True;
            end;
          end;
        end;
    end;
end;

procedure TfrmFieldSelect.Button1Click(Sender: TObject);
var
  i, j: integer;
begin
  if gbIsDBGridEh then
  with gFForm do begin
      for j := 0 to ComponentCount - 1 do
        if Components[j] is TDBGridEh then
        if (Components[j] as TDBGridEh).Name = gsGridName then begin
            for i := 0 to (Components[j] as TDBGridEh).Columns.Count - 1 do
              begin
                (Components[j] as TDBGridEh).Columns[i].Visible := cl.Checked[i];
              end;
          end;
    end;
  if gbIsDBGrid then
    with gFForm do begin
      for j := 0 to ComponentCount - 1 do
        if Components[j] is TDBGrid then begin
          if (Components[j] as TDBGrid).Name = gsGridName then begin
            FDBGrid := TDBGrid(Components[j]);
            for i := 0 to FDBGrid.Columns.Count - 1 do
            begin
            FDBGrid.Columns[i].Visible := cl.Checked[i];
            end;
          end;
        end;
    end;
  Close;

end;

procedure TfrmFieldSelect.Button2Click(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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