📄 pselect.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "PSelect.h"
#include "BomList.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmProdSelect *frmProdSelect;
//---------------------------------------------------------------------------
__fastcall TfrmProdSelect::TfrmProdSelect(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
InitControlGroup();
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::InitControlGroup()
{
gPSelect->RowCount = 1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::FillGridWithData()
{
AnsiString ItemStr,s_SQL;
s_SQL=AnsiString(" Select GoodsCode,GoodsName,UnitCode,GoodsModel,GoodsSpec from sdGoods,sdUnit")
+AnsiString(" where UnitCode=GoodsUnitCode and GoodsType=1 order by GoodsCode");
gPSelect->RowCount=1;
TComResultSet *RsProd;
try
{
StartWaitForm("正在查询数据,请稍候...");
// RsProd=NewResultSet();
RsProd=new TComResultSet(Handle,g_ClientHandle);
RsProd->Open(s_SQL,"");
gPSelect->RowCount=1;
while( RsProd->Eof == 0)
{
ItemStr=AnsiString(" ") +
"\t"+RsProd->FieldByName("GoodsCode")+
"\t"+RsProd->FieldByName("GoodsName")+
"\t"+RsProd->FieldByName("UnitCode")+
"\t"+RsProd->FieldByName("GoodsModel")+
"\t"+RsProd->FieldByName("GoodsSpec");
gPSelect->AddItem(ItemStr);
RsProd->MoveNext();
}
RsProd->Close();
delete RsProd;
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::gPSelectDblClick(TObject *Sender)
{
AnsiString SqlStr;
int ARow=gPSelect->Row;
if (ARow >0)
{
if(gPSelect->Col==0)
{
if (gPSelect->Cells[0][ARow] == "√")
{
gPSelect->Cells[0][ARow] = "";
for (int i=1;i<gPSelect->RowCount;i++)
{
if(gPSelect->Cells[0][i]=="√")
{
tbGenDetail->Enabled=true;
break;
}
else
tbGenDetail->Enabled=false;
}
}
else
{
gPSelect->Cells[0][ARow] = "√";
tbGenDetail->Enabled = true;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::tbGenDetailClick(TObject *Sender)
{
AnsiString ItemStr,c_code,c_select;
TComResultSet *RsListGoods;
// RsListGoods=NewResultSet();
c_select="";
for (int i=1;i<gPSelect->RowCount;i++)
{
if(gPSelect->Cells[0][i]=="√")
c_select="√";
}
if(c_select=="√")
{
RsListGoods=new TComResultSet(Handle,g_ClientHandle);
TfrmBomList *p;
StartWaitForm("正在生成Bom列表,请稍候...");
try
{
for (int i=1;i<gPSelect->RowCount;i++)
{
if(gPSelect->Cells[0][i]=="√")
{
c_code=gPSelect->Cells[1][i];
ItemStr="ksBom_GoodsList '"+c_code+"',0,0,0";
RsListGoods->Execute(ItemStr);
ItemStr="ksBom_ListOrder '"+c_code+"'";
RsListGoods->Execute(ItemStr);
}
}
p=new TfrmBomList(this,g_ClientHandle,""," and BomListProduct='"+c_code+"'");
p->ShowModal();
}
catch(Exception &e)
{
EndWaitForm();
throw Exception(e.Message);
}
delete p;
EndWaitForm();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::tbQueryClick(TObject *Sender)
{
TfrmBomList *p;
AnsiString PWhereStr;
try
{
for (int i=1;i<gPSelect->RowCount;i++)
{
if(gPSelect->Cells[0][i]=="√")
{
PWhereStr=" and BomListProduct='"+gPSelect->Cells[1][i]+"'";
}
}
p=new TfrmBomList(this,g_ClientHandle,"",PWhereStr);
p->ShowModal();
}
catch(Exception &e)
{
EndWaitForm();
throw Exception(e.Message);
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::muFirstClick(TObject *Sender)
{
if(gPSelect->RowCount > 1)
gPSelect->Row=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::muPreviousClick(TObject *Sender)
{
if(gPSelect->RowCount > 1 && gPSelect->Row >1)
gPSelect->Row=gPSelect->Row-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::muNextClick(TObject *Sender)
{
if(gPSelect->RowCount > 1 && gPSelect->Row < gPSelect->RowCount-1)
gPSelect->Row=gPSelect->Row+1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::muLastClick(TObject *Sender)
{
if(gPSelect->RowCount > 1)
gPSelect->Row=gPSelect->RowCount-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::tbChooseClick(TObject *Sender)
{
if(tbChoose->Caption=="全选")
{
for(int i=1;i<gPSelect->RowCount;i++)
{
gPSelect->Cells[0][i]= "√";
}
tbChoose->Caption="全不选";
}
else
{
for(int i=1;i<gPSelect->RowCount;i++)
{
gPSelect->Cells[0][i]= " ";
}
tbChoose->Caption="全选";
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -