rmGridHeaderDm.pas 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. unit rmGridHeaderDm;
  2. interface
  3. uses
  4. SysUtils, Classes, ProjectData, DB, DBClient;
  5. type
  6. TrmGridHeaderData = class(TDataModule)
  7. cdsGridHeader: TClientDataSet;
  8. cdsGridHeaderProjectName: TWideStringField;
  9. cdsGridHeaderDealCode: TWideStringField;
  10. cdsGridHeaderCName: TWideStringField;
  11. cdsGridHeaderSName: TWideStringField;
  12. cdsGridHeaderPhaseIndex: TWideStringField;
  13. cdsGridHeaderDealName: TWideStringField;
  14. cdsGridHeaderFlowIndex: TIntegerField;
  15. cdsGridHeaderSName_2: TWideStringField;
  16. cdsGridHeaderDeadline: TWideStringField;
  17. cdsGridHeaderDealType: TWideStringField;
  18. cdsGridHeaderPhaseStr: TWideStringField;
  19. cdsGridHeaderCurTime: TWideStringField;
  20. cdsGridHeaderDeadlineFormat: TWideStringField;
  21. private
  22. public
  23. function AssginData(AProjectData: TProjectData): TDataSet;
  24. end;
  25. implementation
  26. uses ProjectProperty;
  27. {$R *.dfm}
  28. { TrmGridHeaderData }
  29. function TrmGridHeaderData.AssginData(
  30. AProjectData: TProjectData): TDataSet;
  31. var
  32. sgs: TStringList;
  33. begin
  34. cdsGridHeader.Active := True;
  35. cdsGridHeader.EmptyDataSet;
  36. cdsGridHeader.Append;
  37. cdsGridHeaderProjectName.AsString := AProjectData.ProjProperties.ProjectName;
  38. cdsGridHeaderDealCode.AsString := AProjectData.ProjProperties.DealIndex;
  39. cdsGridHeaderCName.AsString := AProjectData.ProjProperties.CName;
  40. cdsGridHeaderSName.AsString := AProjectData.ProjProperties.SName;
  41. cdsGridHeaderPhaseIndex.AsString := Format('%d ÆÚ', [AProjectData.PhaseIndex]);
  42. cdsGridHeaderDealName.AsString := AProjectData.ProjProperties.DealName;
  43. cdsGridHeaderFlowIndex.AsInteger := 0;
  44. cdsGridHeaderSName_2.AsString := AProjectData.ProjProperties.SName_2;
  45. cdsGridHeaderDeadline.AsString := AProjectData.ProjProperties.Deadline;
  46. cdsGridHeaderDealType.AsString := AProjectData.Projproperties.DealType;
  47. cdsGridHeaderPhaseStr.AsString := Format('%.2d', [AProjectData.PhaseIndex]);
  48. cdsGridHeaderCurTime.AsString := FormatDateTime('yyyymm', Now);
  49. sgs := TStringList.Create;
  50. try
  51. sgs.Delimiter := '-';
  52. sgs.DelimitedText := AProjectData.ProjProperties.Deadline;
  53. if (sgs.Count = 3) then
  54. cdsGridHeaderDeadlineFormat.AsString := sgs.Strings[0] + sgs.Strings[1];
  55. finally
  56. sgs.free;
  57. end;
  58. cdsGridHeader.Post;
  59. Result := cdsGridHeader;
  60. end;
  61. end.