stgGclImportHintFrm.pas 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. unit stgGclImportHintFrm;
  2. interface
  3. uses
  4. stgGclImportHint,
  5. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  6. Dialogs, StdCtrls, ExtCtrls, ZJGrid;
  7. type
  8. TstgGclImportHintForm = class(TForm)
  9. zgFails: TZJGrid;
  10. pnlButton: TPanel;
  11. btnSave: TButton;
  12. btnCance: TButton;
  13. procedure btnSaveClick(Sender: TObject);
  14. private
  15. procedure InitGrid;
  16. public
  17. procedure LoadFailsData(AFails: TstgGclFailList);
  18. end;
  19. procedure ShowGclImportForm(AFails: TstgGclFailList);
  20. implementation
  21. uses
  22. UtilMethods, ExportExcel;
  23. procedure ShowGclImportForm(AFails: TstgGclFailList);
  24. var
  25. vForm: TstgGclImportHintForm;
  26. begin
  27. vForm := TstgGclImportHintForm.Create(nil);
  28. try
  29. vForm.LoadFailsData(AFails);
  30. vForm.ShowModal;
  31. finally
  32. vForm.Free;
  33. end;
  34. end;
  35. {$R *.dfm}
  36. { TstgGclImportHintForm }
  37. procedure TstgGclImportHintForm.InitGrid;
  38. begin
  39. zgFails.ColCount := 6;
  40. zgFails.ColWidths[1] := 120;
  41. zgFails.ColWidths[2] := 250;
  42. zgFails.ColWidths[3] := 60;
  43. zgFails.ColWidths[4] := 80;
  44. zgFails.ColWidths[5] := 100;
  45. zgFails.Cells[1, 0].Text := '헌데긍뵀';
  46. zgFails.Cells[2, 0].Text := '츰냔';
  47. zgFails.Cells[3, 0].Text := '데貫';
  48. zgFails.Cells[4, 0].Text := '데송';
  49. zgFails.Cells[5, 0].Text := '북谿셕좆';
  50. end;
  51. procedure TstgGclImportHintForm.LoadFailsData(AFails: TstgGclFailList);
  52. var
  53. i: Integer;
  54. vFailGcl: TstgGclFail;
  55. begin
  56. zgFails.RowCount := AFails.Count + 1;
  57. InitGrid;
  58. for i := 0 to AFails.Count - 1 do
  59. begin
  60. vFailGcl := AFails.Gcl[i];
  61. zgFails.Cells[1, 1+i].Text := vFailGcl.B_Code;
  62. zgFails.Cells[2, 1+i].Text := vFailGcl.Name;
  63. zgFails.Cells[3, 1+i].Text := vFailGcl.Units;
  64. zgFails.Cells[4, 1+i].Text := FloatToStr(vFailGcl.Price);
  65. zgFails.Cells[5, 1+i].Text := FloatToStr(vFailGcl.DealQuantity);
  66. end;
  67. end;
  68. procedure TstgGclImportHintForm.btnSaveClick(Sender: TObject);
  69. var
  70. sFileName: string;
  71. ExcelExportor: TExcelExportor;
  72. begin
  73. if SaveExcelFile(sFileName) then
  74. begin
  75. ExcelExportor := TExcelExportor.Create;
  76. try
  77. ExcelExportor.ExportToFile(zgFails, sFileName);
  78. ModalResult := mrOk;
  79. finally
  80. ExcelExportor.Free;
  81. end;
  82. end;
  83. end;
  84. end.