📄 ssd.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Ssd.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmSsd *frmSsd;
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmSsd::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
void __fastcall TfrmSsd::ClearControl(bool BringToNext)
{
// BringToNext为真时,不清空
if(BringToNext)
return;
cbSsdCurrencyCode->ItemIndex =-1;
seSsdBankName->Text = "";
seSsdBankNo->Text = "";
chkSsdPrimary->Checked=false;
}
void __fastcall TfrmSsd::GetDataFromComObject()
{
cbSsdCurrencyCode->LocateKey(GetFieldValue(fiSsdCurrency));
seSsdBankName->Text = GetFieldValue(fiSsdBankName);
seSsdBankNo->Text = GetFieldValue(fiSsdBankNo);
chkSsdPrimary->Checked=(GetFieldValue(fiSsdPrimary)=="1");
}
void __fastcall TfrmSsd::SendDataToComObject()
{
WriteFieldValue(comServer,fiSsdClient,WideString(cbSsdClientCode->ItemData[cbItem2]));
WriteFieldValue(comServer,fiSsdCurrency,WideString(cbSsdCurrencyCode->ItemData[cbItem2]));
WriteFieldValue(comServer,fiSsdBankName,WideString(seSsdBankName->Text));
WriteFieldValue(comServer,fiSsdBankNo,WideString(seSsdBankNo->Text));
WriteFieldValue(comServer,fiSsdPrimary,WideString(chkSsdPrimary->Checked?"1":"0"));
}
void __fastcall TfrmSsd::WaitUserInput()
{
if(cbSsdCurrencyCode->Enabled)
cbSsdCurrencyCode->SetFocus();
}
AnsiString __fastcall TfrmSsd::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiSsdCurrency)+
"\t" + GetFieldValue(fiSsdBankName)+
"\t" + GetFieldValue(fiSsdBankNo)+
"\t" + (GetFieldValue(fiSsdPrimary)=="1"?"是":"否");
return(s);
}
void __fastcall TfrmSsd::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgSsd->AddItem(ItemStr);
sgSsd->Row=sgSsd->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgSsd->ChangeItem(ItemStr,sgSsd->Row);
}
// 删除
else if(mAction == 2)
{
sgSsd->RemoveItem(sgSsd->Row);
}
}
void __fastcall TfrmSsd::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgSsd->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgSsd->AddItem(ItemStr);
comServer->MoveNext();
}
}
void __fastcall TfrmSsd::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgSsd,sgSsd->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, FloatPanel2,FloatPanel2->Name);
ClientGroup->AddComponent(2,false,true,true, cbSsdCurrencyCode,cbSsdCurrencyCode->Name);
FillComboBox(cbSsdCurrencyCode,"select CurrencyCode,CurrencyName from sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
}
__fastcall TfrmSsd::TfrmSsd(TComponent* Owner)
: TRecBaseForm(Owner,euSdSsd,"")
{
FillComboBox(cbSsdClientCode,"select ClientCode,ClientName from sdClient where ClientCancel=0 order by ClientCode","ClientName","ClientCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSsd::cbSsdClientCodeClick(TObject *Sender)
{
if(cbSsdClientCode->ItemData[cbItem2]!=ClientValue)
{
WideString s;
s="SsdClient='" + cbSsdClientCode->ItemData[cbItem2] + "'";
comServer->FilterString=s;
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
ClientValue=cbSsdClientCode->ItemData[cbItem2];
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSsd::SetClientValue(AnsiString value)
{
if(FClientValue != value) {
FClientValue = value;
}
}
AnsiString __fastcall TfrmSsd::GetClientValue()
{
return FClientValue;
}
void __fastcall TfrmSsd::FormShow(TObject *Sender)
{
cbSsdClientCodeClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSsd::sgSsdClick(TObject *Sender)
{
if (sgSsd->Row>0)
comServer->LocateByKey(WideString(cbSsdClientCode->ItemData[cbItem2]+sgSsd->TextMatrix[sgSsd->Row][1]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSsd::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
{
case euSdCurrency:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=cbSsdCurrencyCode->Text;
FillComboBox(cbSsdCurrencyCode,"select CurrencyCode,CurrencyName from sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
cbSsdCurrencyCode->LocateKey(KeyCode);
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -