stgGclResultFrm.pas 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. unit stgGclResultFrm;
  2. interface
  3. uses
  4. stgGclGatherDm, UtilMethods, ExportExcel, stgGclSubGatherFile,
  5. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  6. Dialogs, JimTabs, JimPages, sdGridDBA, ZJGrid, ExtCtrls,
  7. StdCtrls, dxBar, ActnList;
  8. type
  9. TstgGclResultForm = class(TForm)
  10. jpsResult: TJimPages;
  11. jpsResultBillsDetail: TJimPage;
  12. jtsGatherData: TJimTabSet;
  13. pnlGatherTree: TPanel;
  14. zgGatherGcl: TZJGrid;
  15. pnlDetail: TPanel;
  16. zgBillsDetail: TZJGrid;
  17. Splitter1: TSplitter;
  18. sdBillsDetail: TsdGridDBA;
  19. pnlResult: TPanel;
  20. lblResult: TLabel;
  21. dxpmGatherTree: TdxBarPopupMenu;
  22. alStgResult: TActionList;
  23. actnExportStgResultExcel: TAction;
  24. actnExportStgResult: TAction;
  25. saGatherGcl: TsdGridDBA;
  26. procedure zgGatherGclMouseDown(Sender: TObject; Button: TMouseButton;
  27. Shift: TShiftState; X, Y: Integer);
  28. procedure dxpmGatherTreePopup(Sender: TObject);
  29. procedure actnExportStgResultExcelExecute(Sender: TObject);
  30. procedure actnExportStgResultExecute(Sender: TObject);
  31. private
  32. FGatherData: TstgGclGatherData;
  33. public
  34. destructor Destroy; override;
  35. procedure SetGatherData(AGatherData: TstgGclGatherData);
  36. end;
  37. implementation
  38. uses
  39. MainFrm;
  40. {$R *.dfm}
  41. procedure TstgGclResultForm.SetGatherData(AGatherData: TstgGclGatherData);
  42. begin
  43. FGatherData := AGatherData;
  44. saGatherGcl.DataView := AGatherData.sdvGatherGcl;
  45. sdBillsDetail.DataView := AGatherData.sdvBillsDetail;
  46. end;
  47. procedure TstgGclResultForm.zgGatherGclMouseDown(Sender: TObject;
  48. Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  49. begin
  50. if Button = mbRight then
  51. dxpmGatherTree.PopupFromCursorPos;
  52. end;
  53. destructor TstgGclResultForm.Destroy;
  54. begin
  55. inherited;
  56. end;
  57. procedure TstgGclResultForm.dxpmGatherTreePopup(Sender: TObject);
  58. begin
  59. SetDxBtnAction(actnExportStgResult, MainForm.dxbtnExportStgResult);
  60. SetDxBtnAction(actnExportStgResultExcel, MainForm.dxbtnExportStgResultExcel);
  61. end;
  62. procedure TstgGclResultForm.actnExportStgResultExcelExecute(Sender: TObject);
  63. var
  64. sFileName: string;
  65. ExcelExportor: TExcelExportor;
  66. begin
  67. if SaveExcelFile(sFileName) then
  68. begin
  69. ExcelExportor := TExcelExportor.Create;
  70. try
  71. ExcelExportor.ExportToFile(zgGatherGcl, sFileName);
  72. finally
  73. ExcelExportor.Free;
  74. end;
  75. end;
  76. end;
  77. procedure TstgGclResultForm.actnExportStgResultExecute(Sender: TObject);
  78. var
  79. sFileName: string;
  80. vExportor: TstgGclSubGatherFileExportor;
  81. begin
  82. if SaveFile(sFileName, '.sgfg') then
  83. begin
  84. vExportor := TstgGclSubGatherFileExportor.Create;
  85. try
  86. vExportor.ExportGatherDataTo(FGatherData, sFileName);
  87. finally
  88. vExportor.Free;
  89. end;
  90. end;
  91. end;
  92. end.