📄 rptgroup.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "RptGroup.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmRptGroup *frmRptGroup;
AnsiString __fastcall TfrmRptGroup::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
void __fastcall TfrmRptGroup::ClearControl(bool BringToNext)
{
// BringToNext为真时,不清空
if(BringToNext)
return;
scRptGroupField->ItemIndex=-1;
seRptGroupName->Text = "";
seRptGroupNo->Text ="0";
}
void __fastcall TfrmRptGroup::GetDataFromComObject()
{
scRptGroupField->LocateKey(GetFieldValue(fiRptGroupField));
seRptGroupName->Text = GetFieldValue(fiRptGroupName);
seRptGroupNo->Text = GetFieldValue(fiRptGroupNo);
sgRptGroup->LocateGrid(2,scRptGroupField->ItemData[cbItem2]);
}
void __fastcall TfrmRptGroup::SendDataToComObject()
{
AnsiString s;
WriteFieldValue(comServer,fiRptGroupTemplet,WideString(cbRptGroupTemplet->Text));
WriteFieldValue(comServer,fiRptGroupField,WideString(scRptGroupField->ItemData[cbItem2]));
WriteFieldValue(comServer,fiRptGroupName,WideString(seRptGroupName->Text));
WriteFieldValue(comServer,fiRptGroupNo,WideString(seRptGroupNo->Text));
}
void __fastcall TfrmRptGroup::WaitUserInput()
{
if(seRptGroupNo->Enabled)
seRptGroupNo->SetFocus();
}
AnsiString __fastcall TfrmRptGroup::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiRptGroupNo)+
"\t" + GetFieldValue(fiRptGroupField) +
"\t" + GetFieldValue(fiRptGroupName);
return(s);
}
void __fastcall TfrmRptGroup::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgRptGroup->AddItem(ItemStr);
sgRptGroup->Row=sgRptGroup->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgRptGroup->ChangeItem(ItemStr,sgRptGroup->Row);
}
// 删除
else if(mAction == 2)
{
sgRptGroup->RemoveItem(sgRptGroup->Row);
}
sgRptGroup->LocateGrid(1,seRptGroupNo->Text);
}
void __fastcall TfrmRptGroup::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgRptGroup->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgRptGroup->AddItem(ItemStr);
comServer->MoveNext();
}
}
void __fastcall TfrmRptGroup::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgRptGroup,sgRptGroup->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,true, FloatPanel2,FloatPanel2->Name);
}
__fastcall TfrmRptGroup::TfrmRptGroup(TComponent* Owner)
: TRecBaseForm(Owner,euSdRptGroup,"")
{
FillComboBox(cbRptGroupTemplet,"select RptTemplethCode from sdRptTempleth order by RptTemplethCode","RptTemplethCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptGroup::cbRptGroupTempletClick(TObject *Sender)
{
if(cbRptGroupTemplet->Text!=TempletValue)
{
if(cbRptGroupTemplet->LocateKey(cbRptGroupTemplet->Text))
{
WideString s;
s = "RptGroupTemplet = '" + cbRptGroupTemplet->Text + "'";
comServer->FilterString = s;
comServer->Query();
FillComboBox(scRptGroupField,"select FieldName=RptTempletdField+space(18-len(RptTempletdField))+'|'+RptTempletdName,RptTempletdField,RptTempletdName from sdRptTempletd where RptTempletdCode='"+cbRptGroupTemplet->ItemData[cbItem1]+"' order by RptTempletdField","FieldName","RptTempletdField","RptTempletdName");
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
TempletValue=cbRptGroupTemplet->Text;
}
else
cbRptGroupTemplet->Text=TempletValue;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptGroup::SetTempletValue(AnsiString value)
{
if(FTempletValue != value) {
FTempletValue = value;
}
}
AnsiString __fastcall TfrmRptGroup::GetTempletValue()
{
return FTempletValue;
}
void __fastcall TfrmRptGroup::FormShow(TObject *Sender)
{
if(!GroupTemplet.IsEmpty())
cbRptGroupTemplet->LocateKey(GroupTemplet);
cbRptGroupTempletClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptGroup::sgRptGroupClick(TObject *Sender)
{
if (sgRptGroup->Row > 0)
comServer->LocateByKey(WideString(sgRptGroup->TextMatrix[sgRptGroup->Row][2]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptGroup::scRptGroupFieldClick(TObject *Sender)
{
seRptGroupName->Text=scRptGroupField->ItemData[cbItem3];
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptGroup::SetGroupTemplet(AnsiString value)
{
if(FGroupTemplet != value) {
FGroupTemplet = value;
}
}
AnsiString __fastcall TfrmRptGroup::GetGroupTemplet()
{
return FGroupTemplet;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -