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

📄 customerfilter.pas

📁 Barcode And LabelPrint
💻 PAS
字号:
unit CustomerFilter;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DailogBase, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids,
  ExtCtrls, dxdbtrel;

type
  TfrmCustomerFilter = class(TfrmDailogBase)
    QArea: TADOQuery;
    QAreafID: TAutoIncField;
    QAreafCode: TWideStringField;
    QAreafName: TWideStringField;
    QAreafParentID: TIntegerField;
    dsArea: TDataSource;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    lblNO: TLabel;
    Label4: TLabel;
    edtCode: TEdit;
    edtName: TEdit;
    
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    btFilter: TBitBtn;
    btOk: TBitBtn;
    btCancel: TBitBtn;
    btClear: TBitBtn;
    QCustomer: TADOQuery;
    dsProvider: TDataSource;
    QCustomerfid: TAutoIncField;
    QCustomerfCode: TWideStringField;
    QCustomerfAreaCode: TWideStringField;
    QCustomerfName: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btOkClick(Sender: TObject);
    procedure btCancelClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure btClearClick(Sender: TObject);
    procedure btFilterClick(Sender: TObject);
  private
    sSql,sFilter:String;
    bClick:Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmCustomerFilter: TfrmCustomerFilter;

implementation

{$R *.dfm}

procedure TfrmCustomerFilter.FormCreate(Sender: TObject);
begin
  inherited;
if Not QArea.Active then QArea.Open ;
sSql:='Select fid,fCode,fAreaCode,fName from vCustomer';
end;

procedure TfrmCustomerFilter.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //inherited;
  //frmProviderFilter:=nil;
end;

procedure TfrmCustomerFilter.FormShow(Sender: TObject);
begin
  inherited;
bClick:=False;
//btClearClick(Self)
end;

procedure TfrmCustomerFilter.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  inherited;
CanClose:=bClick;
end;

procedure TfrmCustomerFilter.btOkClick(Sender: TObject);
begin
  inherited;
if QCustomer.Active and (QCustomer.RecordCount >0) then
begin
 bClick:=True;
 ModalResult:=QCustomer.fieldbyName('fID').AsInteger ;
end;
end;

procedure TfrmCustomerFilter.btCancelClick(Sender: TObject);
begin
  inherited;
bClick:=True;
ModalResult:=-1;
end;

procedure TfrmCustomerFilter.DBGrid1DblClick(Sender: TObject);
begin
  inherited;
btOkClick(Self)
end;

procedure TfrmCustomerFilter.btClearClick(Sender: TObject);
begin
  inherited;
lktvArea.Text:='';
edtCode.Text :='';
edtName.Text :='';
QCustomer.Close ;
end;

procedure TfrmCustomerFilter.btFilterClick(Sender: TObject);
begin
  inherited;
sFilter:=' Where';
if Trim(lktvArea.Text)<>'' then
   begin
   sFilter:= sFilter+' fAreaCode like '''+QArea.fieldbyName('fCode').asString+'%''';
   end;
if Trim(edtCode.Text) <> '' then
   begin
   if sFilter<>' Where' then sFilter := sFilter+' and';
   if pos('%',EdtCode.Text)>0 then
      sFilter:= sFilter+' fCode like '''+Trim(EdtCode.Text)+''''
      else
      sFilter:= sFilter+' fCode='''+Trim(EdtCode.text)+'''';
   end;
if Trim(edtName.Text) <> '' then
   begin
   if sFilter<>' Where' then sFilter := sFilter+' and';
   if pos('%',EdtName.Text)>0 then
      sFilter:= sFilter+' fName like '''+Trim(EdtName.Text)+''''
      else
      sFilter:= sFilter+' fName='''+Trim(EdtName.text)+'''';
   end;

With QCustomer do
begin
  Close;
  Sql.Clear ;
  if sFilter<>' Where' then
     Sql.Add(sSql+sFilter)
     else
     Sql.Add(sSql);
  Open;
end;
end;

end.

⌨️ 快捷键说明

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