ReportPagesの仕様

ReportのGetPagesメソッドで得ることのできるReportPagesオブジェクトは、 帳票の各ページを表すReportPageオブジェクトを要素として含んだリストです。

ReportPagesの要素数がそのまま帳票のページ数になります。

  // C#
  pageCount = repotPages.Count();
  ' VisualBasic
  pageCount = repotPages.Count
  // Java
  pageCount = repotPages.size();

別のReportから得られたページを追加して一度に出力できます。

  // C#
  ReportPages reportPages = reportA.GetPages();
  reportPages.AddRange(reportB.GetPages());
  ' VisualBasic
  Dim reportPages As ReportPages = reportA.GetPages()
  reportPages.AddRange(reportB.GetPages())
  // Java
  ReportPages reportPages = reportA.getPages();
  reportPages.addAll(reportB.getPages());

Render

Renderは帳票の出力を行うメソッドです。 引数としてレンダラオブジェクトを渡します。

  // C#
  reportPages.Render(renderer);
  ' VisualBasic
  reportPages.Render(renderer)
  // Java
  reportPages.render(renderer);

レンダラはIRendererを実装したオブジェクトです。 レンダラの実装によって、帳票をどのような形式で出力するかが決まります。 現状で用意されている実装クラスを以下に示します。

出力形式 レンダラの実装クラス
PDF PdfRenderer
XLS XlsRenderer
XLSX(Javaのみ) XlsxRenderer

それぞれのクラスは、固有の設定項目などを持っています。 「レンダラの仕様」に詳しい説明があります。

ReportPageの仕様

ReportPageは帳票の各ページを表すオブジェクトです。 ReportPages内に要素として格納されています。 例えば最初のページを表すReportPageオブジェクトを得るには以下のように書きます。

  // C#
  ReportPage page = reportPages[0];
  ' VisualBasic
  Dim page As ReportPage = reportPages(0)
  // Java
  ReportPage page = reportPages.get(0);

PageScope

PageScopeというハッシュに登録したデータは、 ページ内のpage.[キー]という式から得ることができます。

  // C#
  reportPage.pageScope.Add("key", value);
  ' VisualBasic
  reportPage.pageScope.Add("key", value)
  // Java
  reportPage.pageScope.put("key", value);

上記のように書いた場合、page.keyという式で該当ページに設定したvalue値を得ることができます。

ページに含まれるGroup

ReportPageオブジェクトは、 そのページ内に含まれるグループを保持するための以下のメンバを持ちます。 これらのメンバは、GroupDesignをキーとし、グループを値としたハッシュです。 識別子をキーとしてグループを得るためのメソッドもそれぞれに用意されているので、 合わせて掲載します。

メンバ/メソッド 説明
AppearedGroups
FindAppearedGroup(id)
このページに含まれるグループを保持します
StartedGroups
FindStartedGroup(id)
このページに先頭が含まれるグループを保持します
FinishedGroups
FindFinishedGroup(id)
このページに末尾が含まれるグループを保持します