📄 te.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Te.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"
TfrmTe *frmTe;
AnsiString OldTeTeam;
//---------------------------------------------------------------------------
__fastcall TfrmTe::TfrmTe(TComponent* Owner)
: TRecBaseForm(Owner,euSdTe,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTe::GetFieldValue(int FieldIndex)
{
return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::SetFieldValue(int iFieldIndex,AnsiString sFieldValue)
{
WriteFieldValue(comServer,iFieldIndex,sFieldValue);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::ClearControl(bool BringToNext)
{
if(!BringToNext)
{
scTeEmployee->Text = "";
seTeEmployeeName->Text = "";
scTeEmployeeSex->Text = "";
scTeEmployeeDept->Text = "";
scTeEmployeeShop->Text = "";
seTeEmployeeTow->Text = "";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::GetDataFromComObject()
{
scTeEmployee->LocateKey(GetFieldValue(fiTeEmployee));
//MoveFirst,MovePrority,MoveNext,MoveLast
sgTe->LocateGrid(0,GetFieldValue(fiTeEmployee));
seTeEmployeeName->Text= scTeEmployee->ItemData[cbItem3];
if(!scTeEmployee->ItemData[cbItem4].IsEmpty())
scTeEmployeeSex->ItemIndex = StrToInt(scTeEmployee->ItemData[cbItem4]);
else
scTeEmployeeSex->Text="";
scTeEmployeeDept->LocateKey(scTeEmployee->ItemData[cbItem5]);
scTeEmployeeShop->LocateKey(scTeEmployee->ItemData[cbItem6]);
seTeEmployeeTow->Text = scTeEmployee->ItemData[cbItem7];
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::SendDataToComObject()
{
SetFieldValue(fiTeTeam,scTeTeam->ItemData[1]);
SetFieldValue(fiTeEmployee,scTeEmployee->ItemData[1]);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::WaitUserInput()
{
if(!scTeTeam->Text.IsEmpty())
scTeEmployee->SetFocus();
else
scTeTeam->SetFocus();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTe::GetDataToGrid()
{
AnsiString s;
s = GetFieldValue(fiTeEmployee);
scTeEmployee->LocateKey(s);
s = s + "\t" + scTeEmployee->ItemData[cbItem3];
return(s);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
if(mAction == 0)
{
sgTe->AddItem(ItemStr);
sgTe->Row=sgTe->RowCount-1;
}
else if(mAction == 1)
{
sgTe->ChangeItem(ItemStr,sgTe->Row);
}
else if(mAction == 2)
{
sgTe->RemoveItem(sgTe->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgTe->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgTe->AddItem(ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::InitEditControl()
{
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, scTeTeam,scTeTeam->Name);
ClientGroup->AddComponent(2,true,true,false, sgTe,sgTe->Name);
ClientGroup->AddComponent(2,true,true,true, Panel1,Panel1->Name);
FillComboBox(scTeTeam,"SELECT TeamCode,TeamName=TeamCode+space(18-Len(TeamCode))+TeamName FROM sdTeam order by TeamCode","TeamName","TeamCode");
FillComboBox(scTeEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept order by DeptCode","DeptName","DeptCode");
FillComboBox(scTeEmployeeShop,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
FillComboBox(scTeEmployee,"select EmployeeCode,memo=EmployeeCode+space(1)+'('+EmployeeName+')',EmployeeName,EmployeeSex,EmployeeDept,EmployeeShop,EmployeeTow from sdEmployee order by EmployeeCode",
"memo","EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeShop","EmployeeTow");
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::RefreshUpdateData(int MsgSrc,int MsgType)
{
try
{
switch (MsgSrc)
{
case euSdTeam:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(scTeTeam,"SELECT TeamCode,TeamName=TeamCode+space(18-Len(TeamCode))+TeamName FROM sdTeam order by TeamCode","TeamName","TeamCode");
EndWaitForm();
break;
}
case euSdDept:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(scTeEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept order by DeptCode","DeptName","DeptCode");
EndWaitForm();
break;
}
case euSdShop:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(scTeEmployeeShop,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
EndWaitForm();
break;
}
case euSdEmployee:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(scTeEmployee,"select EmployeeCode,memo=EmployeeCode+space(1)+'('+EmployeeName+')',EmployeeName,EmployeeSex,EmployeeDept,EmployeeShop,EmployeeTow from sdEmployee order by EmployeeCode",
"memo","EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeShop","EmployeeTow");
EndWaitForm();
break;
}
default:
break;
}
}
__finally
{
//AddCode;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FormClose(TObject *Sender, TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
/*
AnsiString FormIniFile = "D:\test.ini";
WriteGridWidth(Name,sgTe,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FormCreate(TObject *Sender)
{
/*
AnsiString FormIniFile="D:\Test.Ini";
SetGridWidth(Name,sgTe,FormIniFile);
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::FormShow(TObject *Sender)
{
ClearControl(false);
scTeTeam->SetFocus();
scTeTeamClick(this);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::scTeTeamClick(TObject *Sender)
{
AnsiString s;
if(OldTeTeam==scTeTeam->ItemData[1])
return;
if(scTeTeam->ItemIndex==-1)
{
MessageDlg("班组代码不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
scTeTeam->LocateKey(OldTeTeam);
}
else
{
OldTeTeam=scTeTeam->ItemData[1];
s=scTeTeam->ItemData[1];
s = "TeTeam = '" + s + "'";
comServer->FilterString = WideString(s);
comServer->Query();
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::muAddDetailClick(TObject *Sender)
{
AnsiString tempS;
tempS=Trim(scTeTeam->ItemData[1]);
if(tempS.IsEmpty())
{
::MessageBox(Handle,"请先选择或输入一个班组代码,再点增加操作。","操作错误",MB_OK|MB_ICONSTOP);
return;
}
TRecBaseForm::muAddDetailClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::scTeEmployeeClick(TObject *Sender)
{
if(scTeEmployee->ItemIndex!=-1)
{
seTeEmployeeName->Text = scTeEmployee->ItemData[cbItem3];
scTeEmployeeSex->ItemIndex = StrToInt(scTeEmployee->ItemData[cbItem4]);
scTeEmployeeDept->LocateKey(scTeEmployee->ItemData[cbItem5]);
scTeEmployeeShop->LocateKey(scTeEmployee->ItemData[cbItem6]);
seTeEmployeeTow->Text = scTeEmployee->ItemData[cbItem7];
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmTe::sgTeClick(TObject *Sender)
{
int ARow;
ARow=sgTe->Row;
if(ARow > 0)
comServer->LocateByKey(WideString(scTeTeam->ItemData[1]+sgTe->TextMatrix[ARow][0]));
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -