【问题标题】:How to call print from asp.net on a reportviewer control?如何在 reportviewer 控件上从 asp.net 调用打印?
【发布时间】:2010-08-17 16:30:50
【问题描述】:

我正在使用带有 asp.net reportviewer 控件的 ssrs 来显示服务器报告。我们想取消工具栏,因为它不符合我们的外观和感觉,但我们想保留一些功能,我正在努力解决的一点是打印。有什么方法可以从 asp.net 页面调出与该工具栏上的打印按钮相同的打印对话框?

http://msdn.microsoft.com/en-us/library/ms252091(v=VS.80).aspx

是我找到的最接近的,但是我没有使用本地报告(所以如果在某个地方有内置功能会很有意义),它会跳过打印机对话框部分,这是不可接受的。我不相信我真的可以在 asp.net 页面上调用 winforms printdialog,但这不是我尝试过的。 任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net reportviewer ssrs-2008 reportviewer2008


    【解决方案1】:

    这是一个打开打印对话框的脚本:

    <script language="javascript"> 
             function PrintReport() { 
                 var viewerReference = $find("ReportViewer1");
    
                 var stillonLoadState = clientViewer.get_isLoading();
    
                 if (!stillonLoadState ) { 
                     var reportArea = viewerReference .get_reportAreaContentType(); 
                     if (reportArea == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) { 
                         $find("ReportViewer1").invokePrintDialog(); 
                     } 
                 } 
             } 
         </script>
    

    要调用,只需调用PrintReport()

    这里有详细解释: http://blogs.msdn.com/b/selvar/archive/2011/04/09/invoking-the-print-dialog-for-report-viewer-2010-control-using-the-javascript-api.aspx

    【讨论】:

    • Joel,安装 Reporting Services 插件后,这对我在 IE 上有效。但是,我无法让它在 Chrome 上运行,没有安装插件的提示。有什么建议吗?
    • Joel,在访问了msdn博客链接后,我阅读了cmets,发现这些JS API仅适用于支持active-x的浏览器。
    • 据我记得,虽然我使用这个控件已经有一段时间了,但在非 IE 浏览器中打印可能无法工作。此链接似乎表明:msdn.microsoft.com/en-us/library/ms251673.aspx.
    • 是的,看起来很像。我正在使用 '$find("ReportViewer1").exportReport()' 和用户稍后打印导出的文件。
    • Doco for Microsoft.Reporting.WebFormsClient.ReportViewer: docs.microsoft.com/en-us/previous-versions/visualstudio/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2010-09-25
    • 1970-01-01
    • 2010-12-20
    • 2016-04-16
    • 1970-01-01
    • 2018-05-04
    相关资源
    最近更新 更多