タイトルのようなことを相談され、「はぁ。。。」と返事をしたのですが、ようは、カテゴリごとに集計して印刷するのを応用できるかな、と実装した記録です。
やりたいこと
20件(例として20件)を1ページに収め、ページの下にそのページの集計を出したい。
つまり、1ページ目の集計が以下のようになり、
仕掛け
業務フィールドとは別に、印刷用のフィールドとして、印刷カテゴリを持ちます。
今回は20件なので、そのページに表示されているレコード番号-1を20件で割った結果に、1を足します。
1を足すのは、例えば1件めから20件めまでの場合、Div結果は0となるので、0ページめというのではなく、表示するのは1ページ目になる、という感じです。
レコード番号から1を引くのは、20件めの場合(つまりページの境目の番号)、1を引かずに計算すると2ページ目に配置されてしまうので、それを考慮しています。
印刷番号の結果は、こんな感じです。
ちゃんと20件目まで1ページ目ということになってますね。
注意することは、20件を1ページに収めたい、ということなので、ボディの高さを調整する必要があります。
ちょっとでも高かったり低かったりすると、20件が1ページに収まりません。。。
最終ページで20件にならない場合でもページの一番下に集計を出したい場合は、ダミーデータを用意するなどの調整が必要です(面倒ですが。。。)
レイアウトが決まっているお役所系の文書などでよくみる構造ですので、ちょっと覚えておくと便利だと思います。
では!