📄 rptsort.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "RptSort.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmRptSort *frmRptSort;
AnsiString __fastcall TfrmRptSort::GetFieldValue(int FieldIndex)
{
WideString S;
S = ReadFieldValue(comServer,FieldIndex);
return(S);
}
void __fastcall TfrmRptSort::ClearControl(bool BringToNext)
{
// BringToNext为真时,不清空
if(BringToNext)
return;
// FillComboBox(scRptSortField,"select FieldName=RptTempletdField+space(18-len(RptTempletdField))+'|'+RptTempletdName,RptTempletdField,RptTempletdName from sdRptTempletd where RptTempletdCode='"+cbRptSortTemplet->ItemData[cbItem1]+"' order by RptTempletdCode,RptTempletdField","FieldName","RptTempletdField","RptTempletdName");
scRptSortField->ItemIndex =-1;
seRptSortName->Text = "";
seRptSortNo->Text ="0";
}
void __fastcall TfrmRptSort::GetDataFromComObject()
{
scRptSortField->LocateKey(GetFieldValue(fiRptSortField));
seRptSortName->Text = GetFieldValue(fiRptSortName);
seRptSortNo->Text = GetFieldValue(fiRptSortNo);
sgRptSort->LocateGrid(2,scRptSortField->ItemData[cbItem2]);
}
void __fastcall TfrmRptSort::SendDataToComObject()
{
AnsiString s;
WriteFieldValue(comServer,fiRptSortTemplet,WideString(cbRptSortTemplet->Text));
WriteFieldValue(comServer,fiRptSortField,WideString(scRptSortField->ItemData[cbItem2]));
WriteFieldValue(comServer,fiRptSortName,WideString(seRptSortName->Text));
WriteFieldValue(comServer,fiRptSortNo,WideString(seRptSortNo->Text));
}
void __fastcall TfrmRptSort::WaitUserInput()
{
if(seRptSortNo->Enabled)
seRptSortNo->SetFocus();
}
AnsiString __fastcall TfrmRptSort::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue(fiRptSortNo)+
"\t" + GetFieldValue(fiRptSortField) +
"\t" + GetFieldValue(fiRptSortName);
return(s);
}
void __fastcall TfrmRptSort::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgRptSort->AddItem(ItemStr);
sgRptSort->Row=sgRptSort->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgRptSort->ChangeItem(ItemStr,sgRptSort->Row);
}
// 删除
else if(mAction == 2)
{
sgRptSort->RemoveItem(sgRptSort->Row);
}
sgRptSort->LocateGrid(1,seRptSortNo->Text);
}
void __fastcall TfrmRptSort::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgRptSort->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgRptSort->AddItem(ItemStr);
comServer->MoveNext();
}
}
void __fastcall TfrmRptSort::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgRptSort,sgRptSort->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,true, FloatPanel2,FloatPanel2->Name);
}
__fastcall TfrmRptSort::TfrmRptSort(TComponent* Owner)
: TRecBaseForm(Owner,euSdRptSort,"")
{
FillComboBox(cbRptSortTemplet,"select RptTemplethCode,RptTemplethView from sdRptTempleth order by RptTemplethCode","RptTemplethCode","RptTemplethView");
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptSort::cbRptSortTempletClick(TObject *Sender)
{
if(cbRptSortTemplet->Text!=TempletValue)
{
if(cbRptSortTemplet->LocateKey(cbRptSortTemplet->Text))
{
WideString s;
s = "RptSortTemplet = '" + cbRptSortTemplet->Text + "'";
comServer->FilterString = s;
comServer->Query();
FillComboBox(scRptSortField,"select FieldName=RptTempletdField+space(18-len(RptTempletdField))+'|'+RptTempletdName,RptTempletdField,RptTempletdName from sdRptTempletd where RptTempletdCode='"+cbRptSortTemplet->ItemData[cbItem1]+"' order by RptTempletdCode,RptTempletdField","FieldName","RptTempletdField","RptTempletdName");
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
TempletValue=cbRptSortTemplet->Text;
}
else
cbRptSortTemplet->Text=TempletValue;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptSort::SetTempletValue(AnsiString value)
{
if(FTempletValue != value) {
FTempletValue = value;
}
}
AnsiString __fastcall TfrmRptSort::GetTempletValue()
{
return FTempletValue;
}
void __fastcall TfrmRptSort::FormShow(TObject *Sender)
{
if(!SortTemplet.IsEmpty())
cbRptSortTemplet->LocateKey(SortTemplet);
cbRptSortTempletClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptSort::sgRptSortClick(TObject *Sender)
{
if (sgRptSort->Row > 0)
comServer->LocateByKey(WideString(sgRptSort->TextMatrix[sgRptSort->Row][2]));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptSort::scRptSortFieldClick(TObject *Sender)
{
seRptSortName->Text=scRptSortField->ItemData[cbItem3];
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptSort::SetSortTemplet(AnsiString value)
{
if(FSortTemplet != value) {
FSortTemplet = value;
}
}
AnsiString __fastcall TfrmRptSort::GetSortTemplet()
{
return FSortTemplet;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -