wscustomrpt.pas

来自「企业ERP管理系统」· PAS 代码 · 共 74 行

PAS
74
字号
unit WSCustomRpt;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls, StdCtrls,
  ExtCtrls, Forms, QuickRpt, QRCtrls, DB,WSSecurity, QRExport;

type
  TWSCustomReport = class(TQuickRep)
    PageHeaderBand: TQRBand;
    TitleBand: TQRBand;
    TitleSysData: TQRSysData;
    ColumnHeaderBand: TQRBand;
    DetailBand: TQRBand;
    PageFooterBand: TQRBand;
    qrsdPageNumber: TQRSysData;
    UserNameExpr: TQRExpr;
    PrintDateSysData: TQRSysData;
    SummaryBand: TQRBand;
    CorporationNameExpr: TQRExpr;
    ProductNameLable: TQRLabel;
    QRExcelFilter: TQRExcelFilter;
    QRHTMLFilter: TQRHTMLFilter;
    QRWMFFilter: TQRWMFFilter;
    QRRTFFilter: TQRRTFFilter;
    QRCSVFilter: TQRCSVFilter;
    QRTextFilter: TQRTextFilter;
    procedure QuickRepBeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
  private

  public
    constructor Create(AOwner: TComponent); override;
  end;

implementation

{$R *.DFM}

{ TWSCustomReport }

constructor TWSCustomReport.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  with Functions do
  begin
    Prepare;
    { TODO : 添加取得当前用户名和公司名称的代码 }
    SetStringConstant(GetConstant('CORPORATIONNAME'), Guarder.CompanyUserName)
//    SetStringConstant(GetConstant('USERNAME'), UserName);
  end;
end;

procedure TWSCustomReport.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
var
  I, J: Integer;
  DataSet: TDataSet;
begin
  for I := 0 to BandList.Count - 1 do
  begin
    if TQRCustomBand(BandList[I]) is TQRSubDetail then
      DataSet := TQRSubDetail(BandList[I]).DataSet
    else DataSet := Self.DataSet;
    with TQRCustomBand(BandList[I]) do
      for J := 0 to ControlCount - 1 do
        if (Controls[J] is TQRDBText) and (TQRDBText(Controls[J]).DataSet = nil) then
          TQRDBText(Controls[J]).DataSet := DataSet;
  end;
end;

end.

⌨️ 快捷键说明

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