⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rm_class.pas

📁 这是一个功能强大
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  end;

  TRMBandPageHeader = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    property HideIfEmpty;
    //    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property PrintOnFirstPage;
    property PrintOnLastPage;
    //property ChildBand;
    property PrintChildIfInvisible;
    property OutlineText;
  end;

  TRMBandPageFooter = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
  published
    property HideIfEmpty;
    property PrintOnFirstPage;
    property PrintOnLastPage;
    property PrintChildIfInvisible;
    property OutlineText;
  end;

  TRMBandColumnHeader = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    property HideIfEmpty;
    //    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property ReprintOnNewColumn;
    //property ChildBand;
    property PrintChildIfInvisible;
    property OutlineText;
  end;

  TRMBandColumnFooter = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
  published
    property HideIfEmpty;
    property PrintBeforeSummaryBand;
    //property ChildBand;
    property PrintChildIfInvisible;
    property OutlineText;
  end;

  TRMBandHeader = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    property HideIfEmpty;
    //		property NewPageBefore;
    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property ReprintOnNewPage;
    property ReprintOnNewColumn;
    property ChildBand;
    property KeepChild;
    property PrintChildIfInvisible;
    property DataBandName;
    property OutlineText;
  end;

  TRMBandFooter = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    property HideIfEmpty;
    //		property NewPageBefore;
    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property AlignToBottom;
    //    property ReprintOnEveryPage;
    property ChildBand;
    property KeepChild;
    property PrintChildIfInvisible;
    property DataBandName;
    property OutlineText;
  end;

  TRMBandMasterData = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    property PrintCondition;
    property HideIfEmpty;
    //		property NewPageBefore;
    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property ColumnGap;
    property Columns;
    property ColumnWidth;
    property ColumnOffset;
    property DataSetName;
    property PrintIfSubsetEmpty;
    property PrintColumnFirst;
    //    property PrintAtDesignPos;
    property LinesPerPage;
    property AutoAppendBlank;
    property AppendBlankOnce;
    property RangeBegin;
    property RangeEnd;
    property RangeEndCount;
    property PrintChildIfInvisible;
    property PrintIfEmpty;
    property NewPageCondition;
    property OutlineText;
    property AdjustColumns;
    //xyxb Add
    property CalcPriority;

    property ChildBand;
    property KeepChild;
    property KeepFooter;
    property KeepTogether;
    property OnBeforePrintRecord;
  end;

  TRMBandDetailData = class(TRMBandMasterData)
  private
  protected
  public
    constructor Create; override;
  published
    property MasterBandName;
  end;

  {@TRMBandGroupHeader.BreakNo

    This property indicates the number of times a group break has occurred.  If
    the group never breaks during the course of report generation, the BreakNo
    will be 0.

  @TRMBandGroupHeader.ResetPageNo

    Use ResetPageNo to enable subset page numbering.

    ResetPageNo is only available when a report group has the NewPage property
    set to True.

  @TRMBandGroupHeader.HeaderForOrphanedFooter

    Defaults to True. When the group footer is orphaned (prints alone at the top
    of a page with no preceding detail bands) then this property determines
    whether the group header will be printed.

  @TRMBandGroupHeader.KeepTogether

    Defaults to True. This property indicates whether groups can break across
    pages. If the group cannot fit on the remaining space of a page, the group
    will advance to the next page and print there.  If the group advances to the
    next page and still will not fit, then the group will break across pages
    starting at the new page.}

  TRMBandGroupHeader = class(TRMBand)
  private
  protected
  public
    constructor Create; override;

    //property BreakNo: Integer;
    property PageBreaked;
  published
    property HideIfEmpty;
    //		property NewPageBefore;
    property NewPageAfter;
    property Stretched;
    property AllowSplit;
    property GroupCondition;
    property ReprintOnNewPage;
    property ReprintOnNewColumn;
    property MasterBandName;
    property PrintChildIfInvisible;

    property OutlineText;
    property ChildBand;
    property KeepChild;
    property KeepTogether;
    property KeepFooter;
    //    property ResetPageNo;
  end;

  TRMBandGroupFooter = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
    property PageBreaked;
  published
    //		property NewPageBefore;
    property NewPageAfter;
    property HideIfEmpty;
    property Stretched;
    property AllowSplit;
    //    property ReprintOnEveryPage;
    property PrintChildIfInvisible;
    property GroupHeaderBandName;

    property ChildBand;
    property KeepChild;
    property OutlineText;
  end;

  TRMBandOverlay = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
  published
    //property ChildBand;
    //property KeepChild;
    property PrintChildIfInvisible;
  end;

  TRMBandChild = class(TRMBand)
  private
  protected
  public
    constructor Create; override;
  published
    //		property NewPageBefore;
    property NewPageAfter;
    property PrintChildIfInvisible;
    property Stretched;

    property ChildBand;
    property KeepChild;
    property OutlineText;
  end;

  TRMBandCrossHeader = class(TRMBandHeader)
  private
  protected
  public
    constructor Create; override;
  published
    property DataSetName;
  end;

  TRMBandCrossFooter = class(TRMBandFooter)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  TRMBandCrossMasterData = class(TRMBandMasterData)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  TRMBandCrossDetailData = class(TRMBandDetailData)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  TRMBandCrossGroupHeader = class(TRMBandGroupHeader)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  TRMBandCrossGroupFooter = class(TRMBandGroupFooter)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  TRMBandCrossChild = class(TRMBandChild)
  private
  protected
  public
    constructor Create; override;
  published
  end;

  { TRMCustomPage }
  TRMCustomPage = class(TRMPersistent)
  private
    FPrintToPrevPage: Boolean;
    FParentReport: TRMReport;
    FVisible: Boolean;
    FObjects: TList;
    FFont: TFont;
    FOutlineText: string;
    FOnActivate: TNotifyEvent;
    FOnBeginPage: TRMBeginPageEvent;
    FOnEndPage: TRMEndPageEvent;

    // 生成报表时需要的参数
    FEventList: TList;
    FAggrList: TList;
    FParentPage: TRMReportPage;
    FPageNumber: Integer;
    FIsSubReportPage: Boolean;
    FPrintChildTypeSubReportPage: Boolean;
    FSubReportView: TRMSubReportView;
    FSubReport_MMLeft, FSubReport_MMTop: Integer;
    FColumnPos, FCurrentPos: Integer;
    FmmCurrentX, FmmCurrentY, FmmCurrentX1: Integer;
    FmmCurrentBottomY, FmmLastStaticColumnY: Integer;
    FmmOffsetX, FmmOffsetY: Integer; // 打印时用到的,就是边距信息
    FLastPrintBand: TRMBand;
    FDrawRepeatHeader, FDisableRepeatHeader: Boolean;
    FCurPageColumn: Integer;
    FStartPageNo: Integer;

    procedure AfterPrint;

    function GetItems(Index: string): TRMView;
    procedure SetFont(V

⌨️ 快捷键说明

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