| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | unit tpPartTenderSetFme;interfaceuses  tpPartTenderSet, tpPartTenderFme,  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, sdGridDBA, StdCtrls, JimLabels, ZJGrid, ExtCtrls, ActnList,  dxBar;type  TtpPartTenderSetFrame = class(TFrame)    pnlPartTenders: TPanel;    zgPartTendersInfo: TZJGrid;    labGatherTenders: TJimGradLabel;    pnlCurPartTender: TPanel;    sprTenderData: TSplitter;    dxpmPartTenders: TdxBarPopupMenu;    alPartTenders: TActionList;    actnExportTpExcel: TAction;    procedure zgPartTendersInfoCurrentChanged(Sender: TObject; Col,      Row: Integer);    procedure dxpmPartTendersPopup(Sender: TObject);    procedure actnExportTpExcelExecute(Sender: TObject);    procedure zgPartTendersInfoMouseDown(Sender: TObject;      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);    procedure actnExportTpExcelUpdate(Sender: TObject);  private    FPartTenderSetData: TtpPartTenderSet;    FCurPartTenderFrame: TtpPartTenderFrame;    procedure AssignTenderInfo;    procedure ExportPegGclExcel;    procedure ExportGclPegExcel;  public    constructor Create(APartTenderSetData: TtpPartTenderSet);    destructor Destroy; override;    procedure RefreshData;  end;implementationuses  UtilMethods, tpPartTender, MainFrm, ExportExcel;{$R *.dfm}{ TtpPartTenderSetFrame }procedure TtpPartTenderSetFrame.AssignTenderInfo;var  i: Integer;  vPartTender: TtpPartTender;begin  zgPartTendersInfo.RowCount := FPartTenderSetData.TenderCount + 1;  for i := 0 to FPartTenderSetData.TenderCount - 1 do  begin    vPartTender := FPartTenderSetData.PartTender[i];    zgPartTendersInfo.Cells[1, i+1].Text := vPartTender.BeginPeg + '~' + vPartTender.EndPeg;    zgPartTendersInfo.Cells[1, i+1].Align := gaCenterLeft;  end;end;constructor TtpPartTenderSetFrame.Create(  APartTenderSetData: TtpPartTenderSet);begin  inherited Create(nil);  zgPartTendersInfo.Cells[1, 0].Text := '깃뙈';  FPartTenderSetData := APartTenderSetData;  FPartTenderSetData.SetFrame := Self;  FCurPartTenderFrame := TtpPartTenderFrame.Create;  AlignControl(FCurPartTenderFrame, pnlCurPartTender, alClient);end;destructor TtpPartTenderSetFrame.Destroy;begin  FCurPartTenderFrame.Free;  inherited;end;procedure TtpPartTenderSetFrame.RefreshData;begin  AssignTenderInfo;  FCurPartTenderFrame.PartTenderData := FPartTenderSetData.PartTender[0];end;procedure TtpPartTenderSetFrame.zgPartTendersInfoCurrentChanged(  Sender: TObject; Col, Row: Integer);var  iTender: Integer;begin  iTender := zgPartTendersInfo.CurRow - 1;  FCurPartTenderFrame.PartTenderData := FPartTenderSetData.PartTender[iTender];end;procedure TtpPartTenderSetFrame.dxpmPartTendersPopup(Sender: TObject);begin  SetDxBtnAction(actnExportTpExcel, MainForm.dxbtnExportTpExcel);end;procedure TtpPartTenderSetFrame.actnExportTpExcelExecute(Sender: TObject);begin  if (FCurPartTenderFrame.tobtnInPegs.Down) then    ExportPegGclExcel  else if (FCurPartTenderFrame.tobtnInGcls.Down) then    ExportGclPegExcel;end;procedure TtpPartTenderSetFrame.ExportGclPegExcel;var  sFileName: string;  Exportor: TMasterExcelExportor;begin  if SaveFile(sFileName, '.xls') then  begin    Exportor := TMasterExcelExportor.Create;    try      Exportor.DefineCol(@ciTpGclPeg_Gcl, Length(ciTpGclPeg_Gcl), @ciTpGclPeg_Peg);      with FCurPartTenderFrame.PartTenderData.InGclGatherData do      begin        Exportor.DefineMasterDataSet(sddGclGather, 'ID');        Exportor.DefineRelaDataSet(sddGclRela, 'GclID');      end;      Exportor.ExportToFile(sFileName);    finally      Exportor.Free;    end;  end;end;procedure TtpPartTenderSetFrame.ExportPegGclExcel;var  sFileName: string;  Exportor: TMasterExcelExportor;begin  if SaveFile(sFileName, '.xls') then  begin    Exportor := TMasterExcelExportor.Create;    try      Exportor.DefineCol(@ciTpPegGcl, Length(ciTpPegGcl));      with FCurPartTenderFrame.PartTenderData.InPegData do      begin        Exportor.DefineMasterDataSet(sddPeg, 'ID');        Exportor.DefineRelaDataSet(sddGclBills, 'PegID');      end;      Exportor.ExportToFile(sFileName);    finally      Exportor.Free;    end;  end;end;procedure TtpPartTenderSetFrame.zgPartTendersInfoMouseDown(Sender: TObject;  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin  if (Button = mbRight) and (FPartTenderSetData.TenderCount > 0) and      (FCurPartTenderFrame.tobtnInPegs.Down or FCurPartTenderFrame.tobtnInGcls.Down) then    dxpmPartTenders.PopupFromCursorPos;end;procedure TtpPartTenderSetFrame.actnExportTpExcelUpdate(Sender: TObject);begin  if (FCurPartTenderFrame.tobtnInPegs.Down) then    TAction(Sender).Caption := '돔놔Excel(렀鍋코褸뵀)'  else if (FCurPartTenderFrame.tobtnInGcls.Down) then    TAction(Sender).Caption := '돔놔Excel(렀鍋코헌데)';end;end.
 |