- PR -

複数グループある場合のActiveReportsの帳票ヘッダー制御

投稿者投稿内容
とろ
会議室デビュー日: 2008/07/24
投稿数: 6
投稿日時: 2008-07-25 12:22
説明が悪くてすみません。
もう一度説明させてください。

帳票ヘッダー部分に毎頁必ず
タイトル等の固定情報とグループ名等のグループの情報を表示したいのです。


帳票ヘッダー部分の内容を全て、Group2_Headerに記述して、
Group2_Headerのプロパティを
Newpage=Before
Repeat=OnPageIncludeNoDetail
としたのですが、

Group2_Footer出力直後に改頁されて
次頁にGroup1_Footerだけが表示される場合に
帳票ヘッダーが出なくて困っているのです。


よい方法はないでしょうか?
帳票ヘッダーはグループの情報より下行で、
列見出し等を表示するので、
固定部分のみをページ_Headerに記述するとかはできないのです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-25 12:58
引用:

とろさんの書き込み (2008-07-25 12:22) より:

帳票ヘッダー部分の内容を全て、Group2_Headerに記述して、
Group2_Headerのプロパティを
Newpage=Before
Repeat=OnPageIncludeNoDetail
としたのですが、


Group2 のヘッダにそれを仕込むということは Group2 のサマリ情報などをヘッダに表示しているわけですよね。 そうなると Group1 のフッタ 'しか' 表示されていないページは Group2 の情報とは無関係になりますよね。 このあたりの理屈がわかっていらっしゃるならば、Group1 のフッタしか表示されないページに Group2 の情報があるのは変だとは思わないでしょうか? もちろん Group1 のサマリ情報であれば変ではありません。

どうすべきかは仕様次第なので最善策かどうかはわかりませんが、考えられる方法を書いておきます。 特に Group1 が現在どんな扱いなのか伺い知ることができないので、最善策かどうか自信が持てません。

今回のような場合は仕方がないのでページ ヘッダを使うのが手軽です。 しかしながらご存知かもしれませんが、ページ ヘッダでグループの情報を扱うと同期が取れない問題に直面します。 これを回避するためにはページ ヘッダに非表示の TextBox をひとつ配置して Summary 関係のプロパティをグループ集計の条件に設定する必要があります。 この方法ですが私の方では実績がありませんので、テストだけはしっかり行ってください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
とろ
会議室デビュー日: 2008/07/24
投稿数: 6
投稿日時: 2008-07-25 13:11
返信ありがとうございます。

帳票ヘッダーに表示するグループの内容とはコードと名称だけです。

以前に、ヘッダーと詳細の同期をあわせるために
帳票ヘッダーの内容をページ_Headerに記述して
グループ_Headerに非表示のTextBoxを作り、コードと名称情報を取得し
グループ_Beforeprintイベントで
ページ_Headerにセットする方法を使った事があるのですが
苦労したので、
今回、グループ_Headerを使って対応したいと思ったのです。

でも、無理なんですよね。。
残念です。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-25 13:15
引用:

とろさんの書き込み (2008-07-25 13:11) より:

以前に、ヘッダーと詳細の同期をあわせるために
帳票ヘッダーの内容をページ_Headerに記述して
グループ_Headerに非表示のTextBoxを作り、コードと名称情報を取得し
グループ_Beforeprintイベントで
ページ_Headerにセットする方法を使った事があるのですが
苦労したので、


この方法では苦労するというかコーディングも発生しますし面倒ですね。 ページ セクションを使う場合は Summary を使って同期を取ることを推奨します。 プロパティの設定だけで済みますから手軽です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)