生成されたページから順次プレビューすると、レポートの読み込み中に赤い線が表示される場合がある

文書番号 : 37644     文書種別 : 不具合     登録日 : 2014/10/22     最終更新日 : 2015/04/08
文書を印刷する
対象製品
ActiveReports for .NET 7.0J
状況
修正済み
詳細
※この現象はセクションレポートのみで発生します。

プレビュー時に赤い線が表示されないように正しく設定を行っている(※1)にも関わらず、レポートの読み込み中の間のみ、赤い線が表示される場合があります。この赤い線は、レポートの全てのページの読み込みが完了すると表示されなくなります。

※1 セクションレポートのプレビュー時、ページの右側に赤い線が表示される

本事象は以下の条件を全て満たす場合に発生いたします。
この事象は、Run(True)メソッドによるレポートの順次プレビューの間のみ、用紙サイズの指定が無効となり、常にプリンタのデフォルトの用紙サイズが使用される事が要因です。レポートの読み込み処理が完了したタイミングで用紙サイズ設定が有効となり、それに応じて赤い線が表示されなくなります。

例えば、レポート全体の幅を、余白やとじしろなども含めて、A3用紙の幅に丁度収まるようレイアウトしていると仮定します。そのうえで、以下のコードは用紙サイズをA3に明示的に指定しています。本来、この状態では赤い線が表示される事はありません。しかしながら、Run(True)メソッドでレポートを実行し、かつ実行時に参照しているプリンタのデフォルトの用紙幅がA3の幅よりも小さい場合に限り、レポート読み込みの間、赤い線が表示されます。赤い線が表示される位置は、プリンタのデフォルト用紙サイズの位置です。

◆サンプルコード(VB.NET)
Me.Viewer1.Document = rpt.Document
rpt.PageSettings.PaperKind = Printing.PaperKind.A3
rpt.Run(True)

◆サンプルコード(C#)
this.Viewer1.Document = rpt.Document;
rpt.PageSettings.PaperKind = Printing.PaperKind.A3;
rpt.Run(true);
回避方法
この問題はService Pack 5(v7.5.8161.1)で修正されました。
不具合を修正した最新のサービスパックをご使用ください。

SP5を使用しない場合の回避方法は以下のとおりです。

本事象は、Runメソッドを実行する前に、Document.Printerクラスのプロパティを明示的に設定することで回避することが可能です。以下のようなコードになります。

◆サンプルコード(VB.NET)
Me.Viewer1.Document = rpt.Document
rpt.PageSettings.PaperKind = Printing.PaperKind.A3
' 印刷時の用紙サイズを明示的に設定します。
rpt.Document.Printer.PaperKind = Printing.PaperKind.A3
rpt.Run(True)

◆サンプルコード(C#)
this.Viewer1.Document = rpt.Document;
rpt.PageSettings.PaperKind = Printing.PaperKind.A3;
// 印刷時の用紙サイズを明示的に設定します。
rpt.Document.Printer.PaperKind = Printing.PaperKind.A3;
rpt.Run(true);

キーワード
10786