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

📄 pselect.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "PSelect.h"
#include "BomList.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmProdSelect *frmProdSelect;
//---------------------------------------------------------------------------
__fastcall TfrmProdSelect::TfrmProdSelect(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
  InitControlGroup();
  FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::InitControlGroup()
{
    gPSelect->RowCount = 1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::FillGridWithData()
{
    AnsiString  ItemStr,s_SQL;
    s_SQL=AnsiString(" Select GoodsCode,GoodsName,UnitCode,GoodsModel,GoodsSpec from sdGoods,sdUnit")
         +AnsiString(" where UnitCode=GoodsUnitCode and GoodsType=1 order by GoodsCode");
    gPSelect->RowCount=1;
    TComResultSet *RsProd;
    try
    {
      StartWaitForm("正在查询数据,请稍候...");
//      RsProd=NewResultSet();
      RsProd=new TComResultSet(Handle,g_ClientHandle);
      RsProd->Open(s_SQL,"");
      gPSelect->RowCount=1;
      while( RsProd->Eof == 0)
      {
        ItemStr=AnsiString(" ") +
                 "\t"+RsProd->FieldByName("GoodsCode")+
                 "\t"+RsProd->FieldByName("GoodsName")+
                 "\t"+RsProd->FieldByName("UnitCode")+
                 "\t"+RsProd->FieldByName("GoodsModel")+
                 "\t"+RsProd->FieldByName("GoodsSpec");
        gPSelect->AddItem(ItemStr);
        RsProd->MoveNext();
      }
      RsProd->Close();
      delete RsProd;
    }
    __finally
    {
      EndWaitForm();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::gPSelectDblClick(TObject *Sender)
{
    AnsiString SqlStr;
    int ARow=gPSelect->Row;
    if (ARow >0)
    {
      if(gPSelect->Col==0)
      {
        if (gPSelect->Cells[0][ARow] == "√")
        {
         gPSelect->Cells[0][ARow] =  "";
         for (int i=1;i<gPSelect->RowCount;i++)
         {
            if(gPSelect->Cells[0][i]=="√")
            {
               tbGenDetail->Enabled=true;
               break;
            }
            else
               tbGenDetail->Enabled=false;
         }
        }
        else
        {
          gPSelect->Cells[0][ARow] =  "√";
          tbGenDetail->Enabled = true;
        }
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmProdSelect::tbGenDetailClick(TObject *Sender)
{
    AnsiString ItemStr,c_code,c_select;
    TComResultSet *RsListGoods;
//    RsListGoods=NewResultSet();
    c_select="";
    for (int i=1;i<gPSelect->RowCount;i++)
    {
        if(gPSelect->Cells[0][i]=="√")
            c_select="√";
    }

    if(c_select=="√")
    {
        RsListGoods=new TComResultSet(Handle,g_ClientHandle);
        TfrmBomList *p;
        StartWaitForm("正在生成Bom列表,请稍候...");
        try
        {
            for (int i=1;i<gPSelect->RowCount;i++)
             {
                if(gPSelect->Cells[0][i]=="√")
                {
                   c_code=gPSelect->Cells[1][i];
                   ItemStr="ksBom_GoodsList '"+c_code+"',0,0,0";
                   RsListGoods->Execute(ItemStr);
                   ItemStr="ksBom_ListOrder '"+c_code+"'";
                   RsListGoods->Execute(ItemStr);
                }
             }
            p=new TfrmBomList(this,g_ClientHandle,""," and BomListProduct='"+c_code+"'");
            p->ShowModal();
        }
        catch(Exception &e)
        {
           EndWaitForm();
           throw Exception(e.Message);
        }
        delete p;
        EndWaitForm();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::tbQueryClick(TObject *Sender)
{
    TfrmBomList *p;
    AnsiString PWhereStr;
    try
    {
        for (int i=1;i<gPSelect->RowCount;i++)
        {
             if(gPSelect->Cells[0][i]=="√")
             {
                PWhereStr=" and BomListProduct='"+gPSelect->Cells[1][i]+"'";
             }
         }
        p=new TfrmBomList(this,g_ClientHandle,"",PWhereStr);
        p->ShowModal();
    }
    catch(Exception &e)
    {
       EndWaitForm();
       throw Exception(e.Message);
    }
    delete p;
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::muFirstClick(TObject *Sender)
{
    if(gPSelect->RowCount > 1)
       gPSelect->Row=1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::muPreviousClick(TObject *Sender)
{
    if(gPSelect->RowCount > 1 && gPSelect->Row >1)
       gPSelect->Row=gPSelect->Row-1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::muNextClick(TObject *Sender)
{
    if(gPSelect->RowCount > 1 && gPSelect->Row < gPSelect->RowCount-1)
       gPSelect->Row=gPSelect->Row+1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::muLastClick(TObject *Sender)
{
    if(gPSelect->RowCount > 1)
       gPSelect->Row=gPSelect->RowCount-1;
}
//---------------------------------------------------------------------------

void __fastcall TfrmProdSelect::tbChooseClick(TObject *Sender)
{
    if(tbChoose->Caption=="全选")
    {
        for(int i=1;i<gPSelect->RowCount;i++)
        {
            gPSelect->Cells[0][i]= "√";
        }
        tbChoose->Caption="全不选";
    }
    else
    {
        for(int i=1;i<gPSelect->RowCount;i++)
        {
            gPSelect->Cells[0][i]= " ";
        }
        tbChoose->Caption="全选";
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -