buyer.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 182 行

CPP
182
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma link "RecBaseForm"
#pragma hdrstop
#include "Buyer.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmBuyer *frmBuyer;
//---------------------------------------------------------------------------
__fastcall TfrmBuyer::TfrmBuyer(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------

// According to FieldIndex, read the Field Value of the current record
void __fastcall TfrmBuyer::ClearControl(bool BringToNext)
{
    if(BringToNext)
    {
        return;
    }
    seBuyerCode->ItemIndex  =   -1;
    seBuyerName->Text       =   "";
    seBuyerTel->Text        =   "";
    seBuyerBeepPager->Text  =   "";
    cbBuyerCheck->Checked   =   false;
    cbBuyerStop->Checked    =   false;
    cbBuyerCancel->Checked  =   false;
    cbBuyerClose->Checked  =   false;
    cbBuyerPost->Checked    =   false;
}
//---------------------------------------------------------------------------


void __fastcall TfrmBuyer::GetDataFromComObject()
{
    seBuyerCode->LocateKey(GetFieldValue("BuyerName"));
    sgBuyer->LocateGrid(1,GetFieldValue("BuyerCode"));
    seBuyerName->Text       =   GetFieldValue("BuyerCode");
    seBuyerTel->Text        =   GetFieldValue("BuyerTel");
    seBuyerBeepPager->Text  =   GetFieldValue("BuyerBeepPager");
    cbBuyerCheck->Checked   =   (GetFieldValue("BuyerCheck")  ==  "1");
    cbBuyerStop->Checked    =   (GetFieldValue("BuyerStop")  ==  "1");
    cbBuyerCancel->Checked  =   (GetFieldValue("BuyerCancel")  ==  "1");
    cbBuyerClose->Checked  =   (GetFieldValue("BuyerClose")  ==  "1");
    cbBuyerPost->Checked    =   (GetFieldValue("BuyerPost")  ==  "1");
}
//---------------------------------------------------------------------------

void __fastcall TfrmBuyer::SendDataToComObject()
{
    if(seBuyerCode->ItemData[1]=="")
    throw Exception ("采购员代码不能为空");
    //before send date ,check the date;
    SetFieldValue("BuyerCode",WideString(seBuyerCode->ItemData[1]));   // BuyerCode
    SetFieldValue("BuyerName",WideString(seBuyerCode->ItemData[0]));   // BuyerName
    SetFieldValue("BuyerTel",WideString(seBuyerTel->Text));   // BuyerTel
    SetFieldValue("BuyerBeepPager",WideString(seBuyerBeepPager->Text)); // BuyerBP
    SetFieldValue("BuyerCheck",WideString(cbBuyerCheck->Checked ? "1":"0"));  // BuyerCheck
    SetFieldValue("BuyerStop",WideString(cbBuyerStop->Checked  ? "1":"0"));  // BuyerStop
    SetFieldValue("BuyerCancel",WideString(cbBuyerCancel->Checked ? "1":"0")); // BuyerCancel
    SetFieldValue("BuyerClose",WideString(cbBuyerClose->Checked ? "1":"0")); // BuyerClose
    SetFieldValue("BuyerPost",WideString(cbBuyerPost->Checked ? "1":"0"));   // BuyerPost
}
//---------------------------------------------------------------------------

void __fastcall TfrmBuyer::WaitUserInput()
{
   if(seBuyerCode->Enabled)
    seBuyerCode->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmBuyer::GetDataToGrid()
{
    AnsiString  s;
    s =  "\t" + GetFieldValue("BuyerCode");
    s += "\t" + GetFieldValue("BuyerName");
    s += "\t" + GetFieldValue("BuyerTel");
    s += "\t" + GetFieldValue("BuyerBeepPager");

     return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr = GetDataToGrid();
    if (mAction ==  0)   //Add
    {
        sgBuyer->AddItem(ItemStr);
    }
    else if(mAction ==  1)   //Modify
    {
        int i   =   sgBuyer->Row;
        sgBuyer->ChangeItem(ItemStr,i);
    }
    else if(mAction ==  2)      //Delete
    {
        sgBuyer->RemoveItem(sgBuyer->Row);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmBuyer::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgBuyer->RowCount    =   1;

    while (comServer->Eof   ==  0)
    {
        ItemStr =  GetDataToGrid();
        sgBuyer->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false, sgBuyer,sgBuyer->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,false,true,true, seBuyerCode,seBuyerCode->Name);
    ClientGroup->AddComponent(2,true,true,true, seBuyerName,seBuyerName->Name);
    FillComboBox(Handle,seBuyerCode,"Select UserCODE , Username from SDUser order by UserCode","UserName","UserCODE");
}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::FormShow(TObject *Sender)
{
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
//while formshow ,initize all 
}
//---------------------------------------------------------------------------


void __fastcall TfrmBuyer::sgBuyerClick(TObject *Sender)
{
    int ARow=sgBuyer->Row;
    if (ARow > 0)
         comServer->LocateByKey(WideString(sgBuyer->TextMatrix[ARow][1]));
    if (!comServer->Eof)
         GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*  switch(MsgSrc)
  {
   case euSdUser:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
      FillComboBox(Handle,seBuyerCode,"Select UserCODE,UserName from SDUser order by Usercode","UserCODE","UserName");
    }
    break;
   default:
    break;
  }
*/}
//---------------------------------------------------------------------------
void __fastcall TfrmBuyer::seBuyerCodeClick(TObject *Sender)
{
 if(seBuyerCode->ItemIndex > -1)
  seBuyerName->Text=seBuyerCode->ItemData[1];
}
//-----------------------------------------------------------------------



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?