好的,我花了几个小时(确切地说是 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 库,因为我认为就是这样,但什么也没做。顺便说一句,我从这里得到了那个 javascript,因为它是另一个 stackoverflow 问题的答案之一。