今回はActiveReports for .NET 11.0J SP1に搭載された新機能「Table/Tablixのヘッダ固定機能」を紹介します。
この機能、どういったシーンで有用かと申しますと、まずは行列ヘッダを持ったクロス集計表を想定してみてください。クロス集計表はデータ数に応じて帳票が縦横方向に伸長していきます。データ数が少なければ可視化は容易ですが、数が多いとデータが全て画面に収まらずマウス等でスクロール操作をしなければなりません。その結果、ヘッダが見切れてしまい、目当ての数字が何を意味しているのか解らなくなってしまう。といった問題が発生します。
Excelの場合、対処策として「ウィンドウ枠の固定」という機能が用意されており、任意の行や列を固定表示できます。ActiveReportsにも、まさにこれに相当する機能があるんです。
どんな帳票、どんなシチュエーションでもこの機能が有効かというと、残念ながらそうではありません。以下の条件を満たしている必要があります。
- RDLレポート
- TableもしくはTablix
- HTML5ビューワ(ゲラモード)
RDLレポートはバージョン9.0Jから提供を開始した帳票形式です。マルチデータソースが扱え、TableやTablixといったデータ表示専用のコントロールを用いることで手軽に大量データの一覧表示が可能です。また、帳票プレビュー時にページ化を無視するプレビュー方式「ゲラモード」が利用できるため、ページ遷移無しに大量データを閲覧できます。
ヘッダの固定方法は非常に簡単です。FrozenColumnsプロパティ、FrozenRowsプロパティに固定したい列数(行数)をセットするだけ。例えば、以下のような2列2行のヘッダを持ったTablixの場合、それぞれのプロパティに2をセットすると、先頭から2列2行分のヘッダが固定表示されスクロール対象となりません。
実際にHTML5ビューワのゲラモードで表示すると次のような表示結果になります。表示されるページは1ページのみ。これは縦横に非常に大きなページサイズを持つ帳票が表示されていることを意味します(もちろん、通常モードのプレビューを選択した際は10ページ程に分割表示されます)。
この状態でビューワのスクロールバーを動かすと、以下のようにヘッダが固定された状態でデータを閲覧できます。
いかがでしたでしょうか。帳票というと紙やPDFでの出力をターゲットとした静的な固定帳票を思い浮かべがちですが、ActiveReportsはそういった従来の帳票をサポートするほか、画面上でユーザーとの対話を通じてデータを可視化するといった動的帳票を支援するための機能も幅広く提供しています。こうした機能は従来のセクションレポートではなくページレポートやRDLレポートに多く提供されます。