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

📄 productfilter.pas

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

interface

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

type
  TfrmProductFilter = class(TfrmDailogBase)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Panel1: TPanel;
    edtCode: TEdit;
    edtName: TEdit;
    QProductType: TADOQuery;
    QProductTypefID: TAutoIncField;
    QProductTypefParentID: TIntegerField;
    QProductTypefCode: TWideStringField;
    QProductTypefName: TWideStringField;
    dsProductType: TDataSource;
    lktvTypeCode: TdxDBLookupTreeView;
    lblNO: TLabel;
    Label4: TLabel;
    QProducts: TADOQuery;
    dsProducts: TDataSource;
    btFilter: TBitBtn;
    btOk: TBitBtn;
    btCancel: TBitBtn;
    btClear: TBitBtn;
    DBGrid1: TDBGrid;
    QProductsfid: TAutoIncField;
    QProductsfCode: TWideStringField;
    QProductsfTypeCode: TWideStringField;
    QProductsfName: TWideStringField;
    QProductsfSpec: TWideStringField;
    QProductsfColor: TWideStringField;
    QProductsfUnitsName: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure btFilterClick(Sender: TObject);
    procedure btClearClick(Sender: TObject);
    procedure btCancelClick(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 DBGrid1DblClick(Sender: TObject);
  private
    sSql,sFilter:String;
    bClick:Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmProductFilter: TfrmProductFilter;

implementation

Uses DataModule;
{$R *.dfm}

procedure TfrmProductFilter.FormCreate(Sender: TObject);
begin
  inherited;
if Not QProductType.Active then QproductType.Open ;
sSql:='Select fid,fCode,fTypeCode,fName,fSpec,fColor,fUnitsName from vProduct';
end;

procedure TfrmProductFilter.btFilterClick(Sender: TObject);
begin
  inherited;
sFilter:=' Where';
if Trim(lktvTypeCode.Text)<>'' then
   begin
   sFilter:= sFilter+' fTypeCode like '''+QProductType.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 QProducts do
begin
  Close;
  Sql.Clear ;
  if sFilter<>' Where' then
     Sql.Add(sSql+sFilter)
     else
     Sql.Add(sSql);
  Open;
end;
end;

procedure TfrmProductFilter.btClearClick(Sender: TObject);
begin
  inherited;
lktvTypeCode.Text:='';
edtCode.Text :='';
edtName.Text :='';
QProducts.Close ;
end;

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

procedure TfrmProductFilter.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  //inherited;
  //frmProductFilter:=Nil;
end;

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

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

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

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

end.

⌨️ 快捷键说明

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