📄 pfm_viewcksyd.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 + -