- PR -

ActiveReportの改頁

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/03/12
投稿数: 8
投稿日時: 2008-03-12 16:32
ActiveReportで帳票を作成してる、GroupHeaderを使って一ページ目のGroupHeader、GroupFooterがしか表示されないようにしたいですが、下記の二つ方法で試しましたが、まだ解決できていません、
@1頁の行数でグループ化して、二ページ以後はgroupgroupHeader1.Visible=false、groupFooter1.Visible=false。そしたら、フッタが表示されないようになったですが、ヘッダはできないようにです。そして非表示方法がありますか?
Aグループしないで、頁行数に超えたら、detail.newPage = NewPage.Beforeにする。
すると、フッタは最後のページしか表示されない、全頁にgroupFooterを表示できますか?。
よろしくお願いします。



[ メッセージ編集済み 編集者: 未記入 編集日時 2008-03-12 16:50 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-03-12 16:57
引用:

未記入さんの書き込み (2008-03-12 16:32) より:

ActiveReportで帳票を作成してる、GroupHeaderを使って一ページ目のGroupHeader、GroupFooterがしか表示されないようにしたいですが、下記の二つ方法で試しましたが、まだ解決できていません、
(1) 1 頁の行数でグループ化して、二ページ以後はgroupgroupHeader1.Visible=false、groupFooter1.Visible=false。そしたら、フッタが表示されないようになったですが、ヘッダはできないようにです。そして非表示方法がありますか?
(2) グループしないで、頁行数に超えたら、detail.newPage = NewPage.Beforeにする。
すると、フッタは最後のページしか表示されない、全頁にgroupFooterを表示できますか?。
よろしくお願いします。

[ メッセージ編集済み 編集者: 未記入 編集日時 2008-03-12 16:50 ]


# もし日本語圏の方でないなら母国語の通じる掲示板を利用した方が良いと思われます。

Group Header と Group Footer を 1 ページのみに表示して 2 ページ目以降は表示したくないという質問だと解釈します。 ところで、Visible = false のコードは 'どこに' 記載していますか? タイミングが間違っているだけのように思えるのですが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2008/03/12
投稿数: 8
投稿日時: 2008-03-12 17:17
ご回答をありがとうございます。

@「Group Header と Group Footer を 1 ページのみに表示して 2 ページ目以降は表示したくないという質問だと解釈します」
 -->その通りです。

AVisible = false はgroupHeader1_BeforePrintに記載しでいました。groupHeader1の他のイベントにも試しましたが、だめでした。

[ メッセージ編集済み 編集者: 未記入 編集日時 2008-03-12 17:19 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-03-12 17:23
引用:

未記入さんの書き込み (2008-03-12 17:17) より:

Visible = false はgroupHeader1_BeforePrintに記載しでいました。groupHeader1の他のイベントにも試しましたが、だめでした。


BeforePrint イベントで記述して、

引用:

そしたら、フッタが表示されないようになったですが、ヘッダはできないようにです。


このような結果になったということでしょうか? 何だか私が想像していたのと違いますね。 私が忘れてしまっているだけなのかもしれませんが。

引用:

groupHeader1の他のイベントにも試しましたが、だめでした。


こちらは私が想像しているとおりだったのですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2008/03/12
投稿数: 8
投稿日時: 2008-03-12 17:41
groupFooter1_AfterPrintに
int page = Convert.ToInt32(this.Fields["Page"].Value);
if (page != 1)
{
this.groupHeader1.Visible = false;
this.groupFooter1.Visible = false;
}
を試したら、グループヘッダが非表示になったが、下記のように二つページの詳細を一ページに表示してしまい、改頁しない、、、
----page start----
グループヘッダ

詳細頁1

グループフッタ

詳細頁2
----page end----
グループヘッダがないと、改頁しないでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-03-12 18:05
引用:

未記入さんの書き込み (2008-03-12 17:41) より:

ループヘッダがないと、改頁しないでしょうか?


それも初耳です。 単に印刷領域の問題ではないのでしょうか? しかるべきタイミングで意図的に NewPage で改ページすれば良いと思いますが...

何だか状況が飲めませんね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2008/03/12
投稿数: 8
投稿日時: 2008-03-12 19:49
@訂正:
グループヘッダがないと、改頁しないでしょうか?
ー>グループヘッダがないと、改頁できないでしょうか?

ATO:じゃんぬねっとさん
下手の日本語ですいませんでした。
ご回答どうもありがとうございました。

BActive_Reportの各プロパティはまだ十分理解していないですが、下記の方法で仕様通りできました。
Pageでグループして、groupFooterのNewPageをafterにする、groupFooter1_Formatにページ数で判断して、二頁以降であれば、グループヘッダを非表示し、その上ヘッダは一ページ一回の場合グループフッタの各コントロールを非表示にする。

(納得できないのは、二つ頁なのに、groupFooter1_AfterPrintは一回しか実行されていないのです。)
---------------END-------------

1

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