报表查看器打印?

时间:2011-09-01 19:08:09

标签: c# asp.net reporting-services report-viewer2010

我有一个很好的报告显示在我的网络应用程序中。到目前为止一直很好(虽然这是一个彻底的PITA来到这里)。

无论如何,我需要让他们打印出来。在设计模式中,我看到小打印图标。在运行时,没有打印图标。

尽可能地告诉它似乎它是控件的“本地模式”和“远程模式”之间的区别;但我不是百分之百。

我如何告诉控件显示打印按钮?我确实看到了一个名为“ShowPrintButton”的报告查看器属性,它绝对设置为True。

想法?

2 个答案:

答案 0 :(得分:6)

在服务器模式下,打印是通过活动的x插件完成的,因此打印仅在IE中可用,而不是在Firefox或其他浏览器中。如您所述,通过打印按钮的可见性控制打印按钮,但仅在IE中或在ssrs配置中全局控制。 我的经验中最好的选择是鼓励用户导出PDF并从那里打印。

答案 1 :(得分:1)

Chris,我们有一个不同的问题(我不记得到底是什么)但我们最终不得不使用Javascript从客户端操纵reportviewer。 Have a look at this.并检查您是否看到可以帮助您的选项。

实际上,我刚注意到一个使用报表查看器的Web应用程序,打印按钮在Internet Explorer不同的任何其他浏览器中不可用;只有“导出”按钮存在。当您单击“导出”按钮时,它会提示您输入打印机。

以下是一些展示如何操作可用导出格式的示例:

  function resetExportOptions() {
        var exportlist = document.getElementById('report_viwer_id');
        if (exportlist != null) {
            exportlist.length = 0;
            var optn = document.createElement("OPTION");
            optn.value = "Select a format";
            optn.text = "Select a format";
            exportlist.options.add(optn);
            optn = document.createElement("OPTION");
            optn.value = "PDF";
            optn.text = "Acrobat (PDF) file";
            exportlist.options.add(optn);

            if ('-1' == 421) {
             var   optn2 = document.createElement("OPTION");
                optn2.value = "EXCEL";
                optn2.text = "Excel File";
                exportlist.options.add(optn2);
            }
        }
    }

    $(document).ready(function() {
        resetExportOptions();
    });