⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssd.cpp

📁 速达开源ERP系统
💻 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 + -