- - PR -
ActiveReportsNETでページフッタの項目の制御方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-06-07 19:41
こんばんは。
ActiveReportsNETでページフッタにラベルの項目があります。 品番ごとに改ページさせますが 1つの品番で複数ページになる場合 その品番で最後のページだけラベルを印字したいのです。 その他のページはラベルのVisibleをFalseにして 印字しないようにしたいのです。 印字の例としまして 品番 A 11 22 33 44 Page:1 品番 A 55 ラベル印字 Page:2 品番 B 66 77 88 ラベル印字 Page:3 といった具合に 品番Aの1ページだけページフッタの ラベルを印字しないようにコントロールしたいのです。 ご教授宜しくお願いします。 | ||||
|
投稿日時: 2007-06-07 20:27
ActiveReports は、柔軟に対応できるように各イベントをもっておりますので、Format や Fetch 系のイベントで判断して頂ければよろしいかと思います。「そんなことすでに試みている」 のであれば、具体的にどこでどうお困りなのか明示してください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-06-10 17:16
じゃんぬねっとさん、ありがとうございます。
このような場合、本来ならグループフッタを使うかと思われますが 訳あってページフッタを使いたいのです。 じゃんぬねっとさんのご指摘の通りFormatかFetchのイベントで 判断するかと思いますが 具体的に品番が変わったら改ページさせますが 品番で複数ページになる場合最後のページだけ ページフッタの項目のVisibleプロパティをTrueにしたいのですが どのイベントで品番を変数にセットしたり、どう判断するのかが どうしても解らず投稿しました。 もちろん品番で1ぺージしかならない場合は ページフッタの項目のVisibleプロパティはTrueです。 VBからレポートのDatasourceプロパティにデータをセットして レポートを実行します。 ご教授宜しくお願いします。 | ||||
|
投稿日時: 2007-06-11 10:55
おはようございます。
「具体的にどこでどうお困りなのか明示してください。 」 について説明不足でしたので付け加えます。 DetailのKeepTogetherをTrueにしているからか PageFooter_Formatイベントが1番最後に 続けて発生するため1ページごとに キーブレイクの判断がしづらい点で困っているのです。 Fetch Fetch Fetch Fetch Fetch ここでEOF Pagefooter_Format Pagefooter_Format Pagefooter_Format とイベントが発生します。 Fetch Fetch Fetch Pagefooter_Format Fetch Fetch Pagefooter_Format と発生すれば途中のPagefooter_Formatで 印字するしないの判断がしやすいのです。 伝わったでしょうか? | ||||
|
投稿日時: 2007-06-11 14:34
ここの "訳あって" にあたる部分について詳しく説明して頂けると助かります。そもそも LANVIN さんを困らせているのはこの仕様に他ならないですから。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-06-11 14:38
すいません、全てのイベントを調べていたら
グループヘッダにページ/総ページを印字するようにしているのでか 1品番で1ページになる場合 GroupHeader1_BeforePrint PageFooter_BeforePrint 1品番で2ページになる場合 PageFooter_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint PageFooter_BeforePrint 1品番で3ページになる場合 PageFooter_BeforePrint PageFooter_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint PageFooter_BeforePrint 1品番で4ページになる場合 PageFooter_BeforePrint PageFooter_BeforePrint PageFooter_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint GroupHeader1_BeforePrint PageFooter_BeforePrint のように必ず品番別の最後のページは GroupHeader1_BeforePrintのイベントが発生した後に なるようです。 それでGroupHeader1_BeforePrintでフラグをたて PageFooter_BeforePrintでそのフラグがたっていれば 印字するというようなコーディングにしてみましたら 得たい結果が得られましたが このような手法はいかがなものなのでしょうか? 意見をお聞かせください。 宜しくお願いします。 |
1