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

📄 producter.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Producter.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmProducter *frmProducter;
//---------------------------------------------------------------------------
__fastcall TfrmProducter::TfrmProducter(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
      scProducterCode->ItemIndex  =   -1;
      seProducterName->Text       =   "";
      seProducterTel->Text        =   "";
      seProducterBeepPage->Text   =   "";
      cbProducterCheck->Checked   =   false;
      cbProducterStop->Checked    =   false;
      cbProducterCancel->Checked  =   false;
      cbProducterClose->Checked   =   false;
      cbProducterPost->Checked    =   false;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmProducter::GetDataFromComObject()
{
    //定位关键字
    scProducterCode->LocateKey(GetFieldValue("ProducterCode"));
    seProducterName->Text=scProducterCode->ItemData[2];
    //取关键字对应的名称
    //MoveFirst,MovePrority,MoveNext,MoveLast
    sgProducter->LocateGrid(0,GetFieldValue("ProducterCode"));
    seProducterTel->Text        =   GetFieldValue("ProducterTel");
    seProducterBeepPage->Text   =   GetFieldValue("ProducterBeepPage");
    cbProducterCheck->Checked   =   (GetFieldValue("ProducterCheck")=="1");
    cbProducterStop->Checked    =   (GetFieldValue("ProducterStop") =="1");
    cbProducterCancel->Checked  =   (GetFieldValue("ProducterCancel")=="1");
    cbProducterClose->Checked   =   (GetFieldValue("ProducterClose")=="1");
    cbProducterPost->Checked    =   (GetFieldValue("ProducterPost")=="1");
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::SendDataToComObject()
{
    SetFieldValue("ProducterCode",scProducterCode->ItemData[cbItem2]);
    SetFieldValue("ProducterTel",seProducterTel->Text);
    SetFieldValue("ProducterBeepPage",seProducterBeepPage->Text);
    SetFieldValue("ProducterCheck",cbProducterCheck->Checked ? "1":"0");
    SetFieldValue("ProducterStop",cbProducterStop->Checked ? "1":"0");
    SetFieldValue("ProducterCancel",cbProducterCancel->Checked ? "1":"0");
    SetFieldValue("ProducterClose",cbProducterClose->Checked ? "1":"0");
    SetFieldValue("ProducterPost",cbProducterPost->Checked ? "1":"0");
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::WaitUserInput()
{
    if(scProducterCode->Enabled)
       scProducterCode->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmProducter::GetItemStringToGrid()
{
    AnsiString  s_ItemStr;
    s_ItemStr = GetFieldValue("ProducterCode")+
                "\t" + GetFieldValue("ProducterTel")+
                "\t" + GetFieldValue("ProducterBeepPage");
    return s_ItemStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::RefreshGridData(int mAction)
{

    AnsiString ItemStr=GetItemStringToGrid();
    if(mAction == 0)    //Add
    {
      sgProducter->AddItem(ItemStr);
      sgProducter->Row=sgProducter->RowCount-1;
    }
    else if(mAction == 1)//Edit
    {
      sgProducter->ChangeItem(ItemStr,sgProducter->Row);
    }
    else if(mAction == 2)//Del
    {
      sgProducter->RemoveItem(sgProducter->Row);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgProducter->RowCount = 1;
    while(comServer->Eof == 0)
    {
       ItemStr = GetItemStringToGrid();
       sgProducter->AddItem(ItemStr);
       comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false, sgProducter,sgProducter->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,false,true,true, scProducterCode,scProducterCode->Name);
    ClientGroup->AddComponent(2,true,true,true, seProducterName,seProducterName->Name);
    FillComboBox(Handle,scProducterCode,"select memo=UserCode+space(1)+'('+UserName+')',UserCode,UserName from sdUser order by UserCode",
                "memo","UserCode","UserName");
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
    try
    {
       AnsiString KeyCode;
       if(MsgSrc==euSdUser)
       {
          if(ShowUpdateMessage(MsgSrc,MsgType)){
             StartWaitForm("正在刷新引用数据");
             KeyCode=scProducterCode->ItemData[1];
             FillComboBox(Handle,scProducterCode,"select UserName=UserCode+space(1)+'('+UserName+')',UserCode from sdUser order by UserCode",
                       "UserName","UserCode");
             scProducterCode->LocateKey(KeyCode);
             EndWaitForm();
          }
       }
    }
    catch(Exception &e)
    {
       throw Exception(e.Message);
    }
*/
}
//---------------------------------------------------------------------

void __fastcall TfrmProducter::FormShow(TObject *Sender)
{
    if(comServer->RecordCount>0)
    {
      FillGridWithData();
      comServer->MoveFirst();
      GetDataFromComObject();
    }
    else
    {
      ClearControl(false);
      sgProducter->RowCount=1;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::FormClose(TObject *Sender,
      TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmProducter::sgProducterClick(TObject *Sender)
{
    int ARow;
    ARow=sgProducter->Row;
    if(ARow > 0)
      comServer->LocateByKey(WideString(sgProducter->TextMatrix[ARow][0]));
    if(!comServer->Eof)
      GetDataFromComObject();
}
//---------------------------------------------------------------------------

void __fastcall TfrmProducter::scProducterCodeClick(TObject *Sender)
{
    if(scProducterCode->ItemIndex!=-1)
       seProducterName->Text=scProducterCode->ItemData[2];
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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