📄 vw_supply.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "VW_Supply.h"
#include "VW_Pgd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmVW_Supply *frmVW_Supply;
//---------------------------------------------------------------------------
__fastcall TfrmVW_Supply::TfrmVW_Supply(TComponent* Owner)
: TQueryBaseForm(Owner)
{
FilterStr="";
sSQL="";
LateBillCode="";
sgSupply->RowCount=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::tbQueryClick(TObject *Sender)
{
if(!ShowQueryWindow())
return;
try{
StartWaitForm("正在查询,请稍候...");
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
bool __fastcall TfrmVW_Supply::ShowQueryWindow()
{
TfrmQuForm *FQuery=new TfrmQuForm(this,this->Name);
FQuery->ShowModal();
if(FQuery->CancelQuery)
return false;
FilterStr=FQuery->CreateSqlString;
delete FQuery;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::ClearControl(bool BringToNext)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::GetDataFromComObject()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::WaitUserInput()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::RefreshGridData(int mAction)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::DisplayBill()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::GetBill(AnsiString BillID)
{
return;
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmVW_Supply::GetQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
Selectstr="select distinct "
+AnsiString("SupplyCode, ") //供应商代码
+AnsiString("SupplyName, ") //供应商名称
+AnsiString("AreaName, ") //地区代码
+AnsiString("PtypeName, ") //供应商类型
+AnsiString("SupplyCredit, ") //信誉等级
+AnsiString("SupplyLinkman, ") //联系人
+AnsiString("CurrencyName, ") //币种
+AnsiString("TaxName, ") //税码
+AnsiString("SupplyCancel "); //是否停用
Fromstr=" from SDVW_Supply ";
if(FilterStr=="")
Wherestr="";
else
Wherestr=" where "+FilterStr;
Orderstr=" order by SupplyCode ";
sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(sSQL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::FillGridWithData()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
//获取查询语句
sSql=GetQueryStr();
if(sSql=="")
return;
sgSupply->RowCount=1;
LateBillCode="";
RsQuery=NewResultSet();
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
while( RsQuery->Eof == 0)
{
ItemStr= RsQuery->FieldByName("SupplyCode")+
"\t"+RsQuery->FieldByName("SupplyName")+
"\t"+RsQuery->FieldByName("AreaName")+
"\t"+RsQuery->FieldByName("PtypeName")+
"\t"+RsQuery->FieldByName("SupplyCredit")+
"\t"+RsQuery->FieldByName("SupplyLinkman")+
"\t"+RsQuery->FieldByName("CurrencyName")+
"\t"+RsQuery->FieldByName("TaxName")+
"\t"+(RsQuery->FieldByName("SupplyCancel")=="1"?"是":"否");
sgSupply->AddItem(ItemStr);
RsQuery->MoveNext();
}
RsQuery->Close();
delete RsQuery;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmVW_Supply::DataConvert(AnsiString sFieldName,AnsiString sFieldValue)
{
sFieldName=UpperCase(sFieldName);
return("");
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmVW_Supply::GetDetailQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
if(sgSupply->RowCount < 2 || sgSupply->Row == 0 ) //当前行无效
return("");
Selectstr="select "
+AnsiString("PgdGoodsCode, ") //货物代码
+AnsiString("GoodsName, ") //货物名称
+AnsiString("PgdCode, ") //供应商货物代码
+AnsiString("PgdName, ") //供应商货物名称
+AnsiString("PgdPot, ") //供应时间
+AnsiString("PgdPoc "); //供应能力
Fromstr=" from SDVW_Pgd ";
/*
if(FilterStr=="")
Wherestr="";
else
Wherestr=" where "+FilterStr;
*/
Wherestr=" where PgdSupplyCode='"+sgSupply->Cells[0][sgSupply->Row]+"'";
Orderstr=" order by PgdGoodsCode ";
// sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(Selectstr+Fromstr+Wherestr+Orderstr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::FillGridWithDetail()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
TfrmVW_Pgd *p;
//获取查询语句
sSql=GetDetailQueryStr();
if(sSql=="")
return;
try
{
p=new TfrmVW_Pgd(this);
p->lblSupplyCode->Caption=sgSupply->Cells[0][sgSupply->Row];
p->sgPgd->RowCount=1;
RsQuery=NewResultSet();
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
while( RsQuery->Eof == 0)
{
ItemStr= RsQuery->FieldByName("PgdGoodsCode")+
"\t"+RsQuery->FieldByName("GoodsName")+
"\t"+RsQuery->FieldByName("PgdCode")+
"\t"+RsQuery->FieldByName("PgdName")+
"\t"+RsQuery->FieldByName("PgdPot")+
"\t"+RsQuery->FieldByName("PgdPoc");
p->sgPgd->AddItem(ItemStr);
RsQuery->MoveNext();
}
RsQuery->Close();
if(p->sgPgd->RowCount > 1)
p->ShowModal();
}
__finally
{
delete RsQuery;
delete p;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::muFirstClick(TObject *Sender)
{
if(sgSupply->RowCount > 1)
{
sgSupply->Row=1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::tbPreviousClick(TObject *Sender)
{
if(sgSupply->RowCount > 1 && sgSupply->Row > 1)
{
sgSupply->Row=sgSupply->Row-1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::muNextClick(TObject *Sender)
{
if(sgSupply->RowCount > 1 && sgSupply->Row < sgSupply->RowCount-1)
{
sgSupply->Row=sgSupply->Row+1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::muLastClick(TObject *Sender)
{
if(sgSupply->RowCount > 1)
{
sgSupply->Row=sgSupply->RowCount-1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::tbRefreshClick(TObject *Sender)
{
if(sSQL=="")
return;
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmVW_Supply::sgSupplyDblClick(TObject *Sender)
{
int ARow=sgSupply->Row;
if(ARow>0)
{
FillGridWithDetail();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -