⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rptgroup.cpp

📁 速达开源ERP系统
💻 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 + -