カラムを使った多段組レイアウト 1
ここからは、ActiveReportsの多段組レイアウト機能について紹介します。
多段組レイアウトとは?
これまで紹介してきたサンプル帳票は、各セクションのヘッダ/フッタ定義と、Detailセクションに定義した1行分のレイアウトを下方向へ繰り返し出力するものでした。ActiveReportsではこのような1段組のレイアウトだけでなく、2段組、3段組といった多段組レイアウトも作成可能です。多段組のレイアウトではDetailセクションが分割され、1行=1件のデータではなく、1行に複数件のデータを配置できます。
多段組レイアウトのサンプル帳票
今回サンプルとして紹介するのは、各商品の日別売上をカレンダー風に横方向へ並べて表示した帳票です。
また、取り込むデータ構造は次のようになっています。
このデータを今までのように1行=(商品名+6日分のデータ)の1段組レイアウトで表示させる場合、行と列を入れ替えるための複雑なSQLを書く必要がありますが、ActiveReportsの多段組レイアウト機能をうまく使うと、複雑なSQLを書くことなく簡単に実装することができます。
多段組レイアウトの作成
それでは、多段組レイアウトのデザイン作成について解説していきます。
データ表示部の作成
多段組レイアウトを実現するには、まずDetailセクションのColumnCountプロパティを設定します。ColumnCountプロパティのデフォルト値は1(=1段組)です。ColumnCountプロパティを2以上の値に設定すると、Detailセクションが均等割付で分割されます。今回のサンプルではColumnCountプロパティに7を設定しているので、セクションが横に7分割されたうち、6つ分の背景がグレー表示されています。グレーで表示された部分は繰り返し項目となります。
グループヘッダ/フッタのColumnLayoutプロパティをTrueに設定すると、ヘッダ、フッタも明細と同じ段数で分割されて表示されます。
次に、detailセクションのColumnDirectionプロパティを設定し、データの展開方向を決めます。ColumnDirectionプロパティには、
- AcrossDown(まず横方向へ出力し、その後次の行へ改行する)
- DownAcross(まず縦方向に出力し、その後隣の列へ折り返す)
のどちらかを設定できます。今回はDownAcrossを選択します。
グループヘッダ/フッタの設定
次に、改ページする際のNewPageプロパティの設定と同様、改列のためのプロパティを設定します。
今回は売上日単位で列を移動するので、見出しグループヘッダのDataFieldプロパティには日付(SlipDate)を設定します。また、1番左の列は商品名を表示するために空けておく必要があるため、NewColumnプロパティはBeforeに設定します。
これでデータ表示部分の設定は完了です。