📄 vfieldlist.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "VFieldlist.h"
#include "RptTempleth.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "ListBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmViewList *frmViewList;
//---------------------------------------------------------------------------
__fastcall TfrmViewList::TfrmViewList(TComponent* Owner)
: TListBaseForm(Owner,euSdView,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::InitEditControl()
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::ClearControl()
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::GetDataFromComObject(int Section)
{
if (Section==1)
{
seViewCode->Text =GetHeadValue(fiViewName);
}
else
{
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::SendDataToComObject(int Section)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::WaitUserInput(int Section)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::RefreshGridData(int mAction)
{
int i;
AnsiString ItemStr;
switch(mAction)
{
case 0:
ItemStr="\t"+AnsiString("")+"\t"+GetDetailValue(fiVFieldNo)+"\t"+GetDetailValue(fiVFieldName)+"\t"+
GetDetailValue(fiVFieldDesc)+"\t"+GetDetailValue(fiVFieldType)+"\t"+
GetDetailValue(fiVFieldWidth)+"\t"+GetDetailValue(fiVFieldScale)+"\t"+
GetDetailValue(fiVFieldFlg)+"\t";
sgVField->AddItem(ItemStr);
break;
case 1:
i=sgVField->Row;
ItemStr="\t"+AnsiString("")+"\t"+GetDetailValue(fiVFieldNo)+"\t"+GetDetailValue(fiVFieldName)+"\t"+
GetDetailValue(fiVFieldDesc)+"\t"+GetDetailValue(fiVFieldType)+"\t"+
GetDetailValue(fiVFieldWidth)+"\t"+GetDetailValue(fiVFieldScale)+"\t"+
GetDetailValue(fiVFieldFlg)+"\t";
sgVField->ChangeItem(ItemStr,i);
break;
case 2:
sgVField->RemoveItem(sgVField->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::DisplayBill()
{
GetDataFromComObject(1);
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::GetBill(AnsiString BillID)
{
comServer->FilterString=WideString("ViewName='"+BillID+"'");
comServer->Query();
if (comServer->RecordCount!=0) //Found it
{
DisplayBill();
}
else
ShowMessageWindow("在数据库中没有查到记录:"+BillID+",请查证",mwsInformation);
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::FillGridWithData()
{
int i,j;
AnsiString ItemStr;
bool IsExist;
AnsiString SenQty,VFieldQty;
sgVField->RowCount=1;
for (i=0;i<comServer->ItemCount;i++)
{
comServer->LocateItemByIndex(i);
IsExist=false;
for(j=0;j<frmRptTempleth->comServer->ItemCount;j++)
{
frmRptTempleth->comServer->LocateItemByIndex(j);
if(frmRptTempleth->GetDetailValue(fiRptTempletdField)==GetDetailValue(fiVFieldName))
{
IsExist=true;
break;
}
}
if(!IsExist)
RefreshGridData(0);
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmViewList::GetHeadValue(int Index)
{
WideString S;
S = ReadFieldValue(comServer,Index);
return S;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmViewList::GetDetailValue(int Index)
{
WideString S;
S = ReadItemValue(comServer,Index);
return S;
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::SetHeadValue(int Index,AnsiString Value)
{
WriteFieldValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::SetDetailValue(int Index,AnsiString Value)
{
WriteItemValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::FormShow(TObject *Sender)
{
ClearControl();
GetBill(BillNumID);
ChangeToBrowseState(true);
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::ChangeToBrowseState(bool Browse)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::btnOKClick(TObject *Sender)
{
ChangeToBrowseState(true);
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::FormClose(TObject *Sender,
TCloseAction &Action)
{
//...
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::sgVFieldClick(TObject *Sender)
{
if(sgVField->Col == 1&&sgVField->Row>0)
{
// comServer->LocateItemByKey(WideString(sgVField->TextMatrix[sgVField->Row][2]));
if(sgVField->TextMatrix[sgVField->Row][1]=="√")
{
sgVField->TextMatrix[sgVField->Row][1]="";
}
else
{
sgVField->TextMatrix[sgVField->Row][1]="√";
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmViewList::sgVFieldMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
int Column,Row;
sgVField->MouseToCell(X,Y,Column,Row);
if(Column==1&&Row>0)
sgVField->Cursor=crHandPoint;
else
sgVField->Cursor=crDefault;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -