FlashビューワでOnLoadProgressイベントから印刷すると画像が印刷されない場合がある
対象製品
ActiveReports for .NET 7.0J
状況
修正済み
詳細
※この現象はセクションレポートおよびページレポートの両方で発生します。
FlashビューワでOnLoadProgressイベントから印刷すると画像が印刷されない場合があります。本事象は以下の条件をすべて満たす場合に発生します。
FlashビューワでOnLoadProgressイベントから印刷すると画像が印刷されない場合があります。本事象は以下の条件をすべて満たす場合に発生します。
- Flashビューワのクライアントスクリプト機能(OnLoadProgressイベント)を使用して、ビューワにレポートがロードされると同時に印刷を実行している。
※以下のナレッジ文書のStartPrintプロパティを使用した方法では、本事象は発生しません。
Webアプリケーションでプレビュー表示せずにレポートを印刷する方法は?【※サンプル有り】
- レポート上に画像を表示している。
※TextBoxなどで描画される文字については、本事象は発生しません。 - ビューワ上にロードされるレポートのページ数が1ページである。
※ビューワ上に複数ページがロードされている場合、本事象は発生しません。
回避方法
この問題はService Pack 6(v7.6.8201.1)で修正されました。
不具合を修正した最新のサービスパックをご使用ください。
SP6を使用しない場合の回避方法は以下のとおりです。
印刷処理を OnLoadProgressイベント内で実行するのではなく、別の関数内で実行し、その関数を JavaScript のsetTimeoutメソッドで呼び出した場合、本事象を回避することが可能です。
◆サンプルコード(Javascript)
不具合を修正した最新のサービスパックをご使用ください。
SP6を使用しない場合の回避方法は以下のとおりです。
印刷処理を OnLoadProgressイベント内で実行するのではなく、別の関数内で実行し、その関数を JavaScript のsetTimeoutメソッドで呼び出した場合、本事象を回避することが可能です。
◆サンプルコード(Javascript)
<script language="javascript" type="text/javascript">
// <!CDATA[
var viewer = new Object();
function handler() {
GrapeCity.ActiveReports.Viewer.OnLoad("ReportWebViewerPrint", function () {
viewer = GrapeCity.ActiveReports.Viewer.Attach("ReportWebViewerPrint");
viewer.setEventsHandler({
OnLoadProgress: function (e) {
if (e.State == "Completed")
{
// 印刷用メソッドを呼び出します。
setTimeout('fncPrint()', 0);
}
}
});
});
}
function fncPrint() {
viewer = GrapeCity.ActiveReports.Viewer.Attach("ReportWebViewerPrint");
var ops = viewer.CreatePrintOptions();
viewer.Print(ops);
}
</script>;
// <!CDATA[
var viewer = new Object();
function handler() {
GrapeCity.ActiveReports.Viewer.OnLoad("ReportWebViewerPrint", function () {
viewer = GrapeCity.ActiveReports.Viewer.Attach("ReportWebViewerPrint");
viewer.setEventsHandler({
OnLoadProgress: function (e) {
if (e.State == "Completed")
{
// 印刷用メソッドを呼び出します。
setTimeout('fncPrint()', 0);
}
}
});
});
}
function fncPrint() {
viewer = GrapeCity.ActiveReports.Viewer.Attach("ReportWebViewerPrint");
var ops = viewer.CreatePrintOptions();
viewer.Print(ops);
}
</script>;
キーワード
11080