📄 producter.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 + -