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

📄 uasg54.pas

📁 delphi的超级好用的表格控件
💻 PAS
字号:
unit uasg54;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, BaseGrid, AdvGrid, StdCtrls, asgprev, ImgList
  {$IFDEF VER140}
  , Variants
  {$ENDIF}
  ;

type
  TForm1 = class(TForm)
    AdvStringGrid1: TAdvStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    AdvPreviewDialog1: TAdvPreviewDialog;
    Button4: TButton;
    ImageList1: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure AdvStringGrid1ControlComboList(Sender: TObject; ARow,
      ACol: Integer; CtrlID, CtrlType, CtrlVal: String;
      Values: TStringList; var Edit: Boolean; var DropCount: Integer);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure AdvStringGrid1ControlClick(Sender: TObject; ARow,
      ACol: Integer; CtrlID, CtrlType, CtrlVal: String);
    procedure AdvStringGrid1ControlEditDone(Sender: TObject; ARow,
      ACol: Integer; CtrlID, CtrlType, CtrlVal: String);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure AddForm(ARow: Integer);
    procedure ClearForm(ARow: Integer);
    procedure FillForm(ARow: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  AddForm(1);
  FillForm(1);
  AddForm(2);
  FillForm(2);
end;

procedure TForm1.AdvStringGrid1ControlComboList(Sender: TObject; ARow,
  ACol: Integer; CtrlID, CtrlType, CtrlVal: String; Values: TStringList;
  var Edit: Boolean; var DropCount: Integer);
begin
   Values.Clear;
   if CtrlID = 'CO1' then
   begin
     Values.Add('MO');
     Values.Add('TU');
     Values.Add('WE');
     Values.Add('TH');
     Values.Add('FR');
     Values.Add('SA');
     Values.Add('SU');
     Edit := False;  // combo dropdownlist
   end;

   if CtrlID = 'CO2' then
   begin
     Values.Add('VISA');
     Values.Add('AMEX');
     Values.Add('MASTERCARD');
     Values.Add('CASH');
     Values.Add('N/A');
     Edit := True;  // combo dropdown edit
   end;
end;

procedure TForm1.AddForm(ARow: Integer);
begin
  with AdvStringGrid1 do
  begin
    Cells[1,ARow] := '<CONTROL TYPE="CHECK" WIDTH="15" ID="CK1"> <b>Patient information</b> :<BR>' +
      'Name : <CONTROL TYPE="EDIT" WIDTH="80" VALUE="" ID="ED1"> '+
      'Prename : <CONTROL TYPE="EDIT" WIDTH="80" VALUE="" ID="ED2"> ' +
      '<CONTROL TYPE="BUTTON" WIDTH="80" VALUE="Clear" ID="BTN1"><BR><BR>' +
      '<IMG src="idx:0" align="middle"> Available : <CONTROL TYPE="COMBO" WIDTH="60" ID="CO1">  ' +
      '<IMG src="idx:1" align="middle"> Payment : <CONTROL TYPE="COMBO" WIDTH="80" VALUE="" ID="CO2"> '+
      '<IMG src="idx:2" align="middle"> Last visit : <CONTROL TYPE="EDIT" WIDTH="80" VALUE="" ID="ED3">';
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  AdvPreviewDialog1.Execute;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AdvStringGrid1.RowCount :=   AdvStringGrid1.RowCount + 1;
  AddForm(AdvStringGrid1.RowCount - 1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  FillForm(AdvStringGrid1.Row);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  ClearForm(AdvStringGrid1.Row);
end;

procedure TForm1.ClearForm(ARow: Integer);
begin
  with AdvStringGrid1 do
  begin
    ControlValues[1,ARow,'CK1'] := 'FALSE';
    ControlValues[1,ARow,'ED1'] := '';
    ControlValues[1,ARow,'ED2'] := '';
    ControlValues[1,ARow,'CO1'] := '';
    ControlValues[1,ARow,'CO2'] := '';
    ControlValues[1,ARow,'ED3'] := '';
  end;

end;

procedure TForm1.FillForm(ARow: Integer);
begin
  with AdvStringGrid1 do
  begin
    ControlValues[1,ARow,'CK1'] := 'TRUE';
    ControlValues[1,ARow,'ED1'] := 'Name'+IntToStr(ARow);
    ControlValues[1,ARow,'ED2'] := 'PreName'+IntToStr(ARow);
    ControlValues[1,ARow,'CO1'] := 'MO';
    ControlValues[1,ARow,'CO2'] := 'VISA';
    ControlValues[1,ARow,'ED3'] := DateToStr(Now + ARow);
  end;
end;

procedure TForm1.AdvStringGrid1ControlClick(Sender: TObject; ARow,
  ACol: Integer; CtrlID, CtrlType, CtrlVal: String);
begin
  if CtrlType = 'BUTTON' then
    Showmessage('Button clicked');

  

end;

procedure TForm1.AdvStringGrid1ControlEditDone(Sender: TObject; ARow,
  ACol: Integer; CtrlID, CtrlType, CtrlVal: String);
begin
  if CtrlType = 'COMBO' then
    showmessage(ctrlval);
end;

end.

⌨️ 快捷键说明

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