わかりました。これに対する解決策を探すために数時間(正確には4時間)を費やしました。いくつかの結果を見つけましたが、今のところうまくいきません。:(
問題:ユーザーコントロールにレポートビューアーがあり、ツールバーを非表示にして独自のツールバーを作成しました。印刷するはずのボタンを追加しましたが、機能しないようです。私はあなたが私のために持っているかもしれないどんな解決策も取ります。ただし、レポートに付属しているデフォルトのバーではなく、ボタンである必要があります。
これが私のコードです:
<rsweb:reportviewer
ID="rvReports"
runat="server"
Height="600px"
Width="600px"
ShowToolBar="False"
SizeToReportContent="True" AsyncRendering="false" />
<asp:ImageButton ID="btnprint" runat="server" ImageUrl="../img/print.png"
OnClientClick="PrintReport();" />
Javascript:
<script type="text/javascript">
function PrintReport() {
var viewerReference = $find("rvReports");
var reportArea = viewerReference.get_reportAreaContentType();
if (reportArea == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
$find("rvReports").invokePrintDialog();
}
}
</script>
これで発生するエラーは次のとおりです。
Uncaught TypeError: Cannot call method 'get_reportAreaContentType' of null
Jqueryライブラリを追加した場合に備えて、それはそれであると思いましたが、何もしていません。ところで、別のスタックオーバーフローの質問に対する回答の1つであるため、ここからそのjavascriptを取得しました。