📄 ustockstates.pas
字号:
str1:=' (';
i:=pos('仓库', trim(cmbmstorage.Text));
if i>0 then
begin
str1:=str1+''''+copy(trim(cmbmstorage.Text),i+4,length(trim(cmbmstorage.Text)))+''''+',';
end else
begin
str1:=str1+''''+trim(cmbmstorage.Text)+''''+',';
end;
zt:=true;
end ;
if cbstorages.Checked then
begin
if trim(cmbstorages.Text)<>'全部仓库' then
begin
if not zt then str1:=' (';
str1:=str1+''''+trim(cmbstorages.Text)+''''+',';
end else
begin
if not cbmstorage.Checked then str1:=' (';
for j:=0 to cmbstorages.Items.Count-2 do
begin
i:=pos('仓库', trim(cmbstorages.Items.Strings[j]));
if i>0 then
begin
str1:=str1+''''+copy(trim(cmbstorages.Items.Strings[j]),i+4,length(trim(cmbstorages.Items.Strings[j])))+''''+',';
end else
begin
str1:=str1+''''+trim(cmbstorages.Items.Strings[j])+''''+',';
end;
end;
end;
end;
if trim(str1)<>'' then
begin
str1:=copy(str1,1,length(str1)-1);
str1:=str1+')';
tj:=tj+'and storage_no in '+trim(str1);
end;
if ckbtype.Checked then tj:=tj+'and type='+''''+trim(cbtype.Text)+'''';
if ckbbrand.Checked then tj:=tj+'and brand='+''''+trim(cbbrand.Text)+'''';
if ckbbreed.Checked then tj:=tj+'and breed='+''''+trim(cbbreed.Text)+'''';
if cbamount.Checked then tj:=tj+'and stock_amount='+trim(edtamount.Text);
if cbball.Checked then tj:=tj+' and dball<='+trim(edtbbegin.Text)+' and dball>='+trim(edtbend.Text);
if cbpoll.Checked then tj:=tj+' and dpoll<='+trim(edtpbegin.Text)+' and dpoll>='+trim(edtpend.Text);
if cbnroms.Checked then tj:=tj+' and norms_type='+''''+trim(edtnorms.Text)+'''';
screen.Cursor := crHourGlass;
temp:=tempsql+tables+tj;
try
datas:=adisp.GetRecord(temp);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
screen.Cursor := crdefault;
exit;
end;
////////////////////////////////
if not varisnull(datas) then
begin
cdssort.Data:=datas;
cdssort.Open;
datas:=null;
cdssort.Last;
LocalCount := GetKeyFieldValue('id',cdssort); //传入具体字段
btnpagedown.Enabled:=true;
with cdssort.IndexDefs.AddIndexDef do
begin
Fields := 'goods_no'; //
Options := [];
end;
cdssort.IndexDefs.Update;
cdssort.Open;
//if trim(str1)<>'' then tj:=tj+str1;
stringgrid1.Visible:=false;
dbgrid1.Visible:=true;
setdbgrid(dbgrid1,3);
end;
screen.Cursor := crdefault;
end;
procedure Tfrmstockstates.btnpagedownClick(Sender: TObject);
var
temp:widestring;
datas:oleVariant;
begin
inherited;
if not cdssort.Active then exit;
screen.Cursor := crhourglass;
cdssort.DisableControls;
try
temp:=tempsql+tables+tj+' and id>'+inttostr(localcount);
datas:=null;
try
datas:=adisp.GetRecord(temp);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
screen.Cursor := crdefault;
exit;
end;
if not varisnull(datas) then
begin
cdssort.Close;
cdssort.Open;
cdssort.AppendData(datas,true);
datas:=null;
cdssort.Last;
LocalCount := GetKeyFieldValue('id',cdssort); //传入具体字段
////////////////////////////////
with cdssort.IndexDefs.AddIndexDef do
begin
Fields := 'goods_no'; //
Options := [];
end;
cdssort.IndexDefs.Update;
cdssort.Open;
////////////////////////////////////// dmmain.cdsquery.Last;
//重新打开
cdssort.EnableControls;
setdbgrid(dbgrid1,3);
end else
begin
//不再有数据
cdssort.EnableControls; //ydy 必须要
btnpagedown.Enabled := false;
screen.Cursor := crdefault;
exit;
end;
except
end;
if stringgrid1.Visible then
begin
stringgrid1.RowCount:=2;
redata;
end;
screen.Cursor := crdefault;
btnpagedown.Enabled:=true;
end;
procedure Tfrmstockstates.spbexitClick(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmstockstates.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s:string;
r:TRect;
begin
inherited ;
with Sender as Tstringgrid do
begin
if gdSelected in State then
Canvas.Brush.Color:= clTeal; //clyellow;//clRed;
Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
if gdFocused in State then
Canvas.DrawFocusRect(Rect);
end;
with Sender as Tstringgrid do
begin
Canvas.FillRect(Rect);
s:=Cells[ACol,ARow];
r:=Rect;
DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
with sender as tstringgrid do
begin
FixedCols:=1;
end;
end;
procedure Tfrmstockstates.N3Click(Sender: TObject);
begin
inherited;
dbgrid1.Visible:=true;
stringgrid1.Visible:=false;
end;
procedure Tfrmstockstates.N4Click(Sender: TObject);
begin
inherited;
if not cdssort.Active then
begin
application.MessageBox('请先查询数据!',pchar(application.Title),mb_iconinformation);
bitbtn1.SetFocus;
exit;
end;
dbgrid1.Visible:=false;
stringgrid1.Visible:=true;
inistringgrid(true);
end;
procedure Tfrmstockstates.BitBtn3Click(Sender: TObject);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
BitBtn3MouseDown(sender,mbLeft,[ssLeft],p.X,p.Y);
end;
procedure Tfrmstockstates.BitBtn3MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p:Tpoint;
begin
inherited;
GetCursorPos(P);
PopupMenu2.Popup(P.x,P.y);
end;
procedure Tfrmstockstates.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
dmmain.CDSquery.Close;
dmmain.CDSquery.Data:=null;
end;
procedure Tfrmstockstates.DBGrid1TitleClick(Column: TColumn);
begin
inherited;
if (not dbgrid1.DataSource.DataSet.Active ) then exit;
if trim(column.Field.AsString)='' then exit;
sortgrid(column.Field.FieldName,cdssort,dbgrid1,column);
end;
procedure Tfrmstockstates.ckbtypeClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbtype,cbtype);
CBTypeChange(cbtype);
end;
procedure Tfrmstockstates.ckbbrandClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbbrand,cbbrand);
cbbrandchange(cbbrand);
end;
procedure Tfrmstockstates.ckbbreedClick(Sender: TObject);
begin
inherited;
ckbcmb(ckbbreed,cbbreed);
end;
procedure Tfrmstockstates.cbamountClick(Sender: TObject);
begin
inherited;
ckbedit(cbamount,edtamount);
end;
procedure Tfrmstockstates.CBTypeChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
//if dmmain.cDSquery.Active then dmmain.cDSquery.Close;
//调品牌
t_sql:='select distinct brand from [goods_code] where type ='+''''+trim(cbtype.text)+'''';
GetDataToComBoX(cbBrand,t_sql,'brand');
cbBrand.ItemIndex := -1;
cbbreed.Clear;
end;
procedure Tfrmstockstates.cbBrandChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
//调品种
// if dmmain.cDSquery.Active then dmmain.cDSquery.Close;
if cbtype.Text = '' then exit;
t_sql:='select distinct breed from [goods_code] where brand ='+''''+trim(cbbrand.text)+'''' +' and type =' +''''+trim(cbtype.text)+'''';
GetDataToComBoX(cbBreed,t_sql,'breed');
cbBreed.ItemIndex := -1;
end;
procedure Tfrmstockstates.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
setdbgrid(dbgrid1,3);
end;
procedure Tfrmstockstates.cbballClick(Sender: TObject);
begin
inherited;
ckbedits(cbball,EDTBBEGIN,edtbend);
end;
procedure Tfrmstockstates.cbpollClick(Sender: TObject);
begin
inherited;
ckbedits(cbpoll,EDTpBEGIN,edtpend);
end;
procedure Tfrmstockstates.cbnromsClick(Sender: TObject);
begin
inherited;
ckbedit(cbnroms,edtnorms);
end;
procedure Tfrmstockstates.CbmstorageClick(Sender: TObject);
begin
inherited;
ckbcmb(cbmstorage,cmbmstorage);
end;
procedure Tfrmstockstates.cbstoragesClick(Sender: TObject);
begin
inherited;
ckbcmb(cbstorages,cmbstorages);
end;
procedure Tfrmstockstates.cmbmstorageChange(Sender: TObject);
var
t_sql:string;
begin
inherited;
t_sql:='select storageid from stock_manager where managerid='+''''+trim(copy(trim(cmbmstorage.Text),pos('仓库',trim(cmbmstorage.Text))+4,length(trim(cmbmstorage.Text))))+'''';
GetDataToComBoX(cmbstorages,t_sql,'storageid');
cmbstorages.Items.Add('全部仓库');
cmbstorages.ItemIndex:=-1;
end;
procedure Tfrmstockstates.btnprintClick(Sender: TObject);
begin
inherited;
if trim(stringgrid1.Cells[1,stringgrid1.RowCount-1])<>'' then
begin
fastrepxf:=tfastrepxf.Create(self);
fastrepxf.filenames:='OrderGoods.ini';
//fastrepxf.RepSGrid.RangeEnd := reCount;
GetCopyGrid(fastrepxf.SGridData,stringgrid1);
fastrepxf.SGridData.Enabled:=true;
fastrepxf.ShowModal;
fastrepxf.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -