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

📄 pfm_viewcksyd.pas

📁 POS收银系统
💻 PAS
字号:
unit pfm_viewcksyd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ado_dm, Db, ADODB, Grids, DBGrids, ExtCtrls, StdCtrls, DBTables;

type
  Tfm_viewcksyd = class(TForm)
    DataSource1: TDataSource;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    DataSource2: TDataSource;
    GroupBox2: TGroupBox;
    DBGrid2: TDBGrid;
    Panel1: TPanel;
    RButton3: TRadioButton;
    RButton1: TRadioButton;
    RButton2: TRadioButton;
    Panel2: TPanel;
    CbBox1: TComboBox;
    Label1: TLabel;
    Query1: TQuery;
    Query2: TQuery;
    Query3: TQuery;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RButton1Click(Sender: TObject);
    procedure RButton2Click(Sender: TObject);
    procedure RButton3Click(Sender: TObject);
    procedure CbBox1Change(Sender: TObject);
    procedure DBGrid2DrawDataCell(Sender: TObject; const Rect: TRect;
      Field: TField; State: TGridDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fm_viewcksyd: Tfm_viewcksyd;

implementation

{$R *.DFM}
var
GridColName1:TStringList;
GridColName2:TStringList;
filter1,filter2:string;
procedure Tfm_viewcksyd.FormCreate(Sender: TObject);
var
i:integer;
begin
    query1.sql.clear;
    query1.sql.add('select ckmc from t_ckxx');
    cbbox1.items.add('全部仓库');
    query1.active:=true;
    while not query1.eof do
    begin
        cbbox1.items.add(query1.fieldbyname('ckmc').asstring);
        query1.next;
    end;
    query1.active:=false;


    query2.open;
    query3.Open;
    GridColName1:=TStringList.create;
    GridColName2:=TStringList.create;
    with GridColName1 do
    begin
        Add('lsh=流水号');
        Add('ckmc=仓库名称');
        Add('rq=日期');
    end;
    with GridColName2 do
    begin
        Add('spbm=商品编码');
        Add('sptxm=商品条形码');
        Add('synum=损溢数量');
        Add('jhdj=商品进货单价');
        Add('sycause=损溢原因');
    end;
    for i:=0 to dbgrid1.columns.count-1 do
    begin
        dbgrid1.columns[i].Title.caption:=gridcolname1.values[dbgrid1.columns[i].Title.caption];
    end;

    for i:=0 to dbgrid2.columns.count-1 do
    begin
        dbgrid2.columns[i].Title.caption:=gridcolname2.values[dbgrid2.columns[i].Title.caption];
    end;
    filter1:='';
    filter2:='';
    cbbox1.ItemIndex:=0;


end;

procedure Tfm_viewcksyd.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    GridColName1.free;
    GridColName2.free;
    action:=caFree;
end;

procedure Tfm_viewcksyd.RButton1Click(Sender: TObject);
begin
    query3.Close;
    query3.SQL.clear;
    query3.sql.add('select * from tb_sydmx where lsh=:lsh and synum>0');
    query3.open;

end;

procedure Tfm_viewcksyd.RButton2Click(Sender: TObject);
begin
    query3.Close;
    query3.SQL.clear;
    query3.sql.add('select * from tb_sydmx where lsh=:lsh and synum<0');
    query3.open;
end;

procedure Tfm_viewcksyd.RButton3Click(Sender: TObject);
begin
    query3.Close;
    query3.SQL.clear;
    query3.sql.add('select * from tb_sydmx where lsh=:lsh');
    query3.open;
end;

procedure Tfm_viewcksyd.CbBox1Change(Sender: TObject);
begin
    if cbbox1.text='全部仓库' then
    begin
        filter1:='';
    end
    else
    begin
        filter1:='ckmc='''+cbbox1.text+'''';
    end;
    query2.filter:=filter1+filter2;
    query2.filtered:=true;
end;

procedure Tfm_viewcksyd.DBGrid2DrawDataCell(Sender: TObject;
  const Rect: TRect; Field: TField; State: TGridDrawState);
begin
   if query3.fieldbyname('spnum').asinteger>0 then
   begin
        //申请数量不等于确认数量
        (sender as tdbgrid).Canvas.font.Color:=clred;
    end;
     (sender as tdbgrid).DefaultDrawDataCell(Rect, Field, State);
end;

end.

⌨️ 快捷键说明

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