2011-09-01 115 views
2

我有这个漂亮的报告,显示在我的网络应用程序。到目前为止非常好(虽然它已经是一个完全PITA到这里)。报告查看器打印?

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

就像我可以告诉它似乎它是控件的“本地模式”和“远程模式”之间的区别;但我不是100%。

如何在世界中告诉控件显示打印按钮?我确实看到了名为“ShowPrintButton”的报表查看器的属性,并且它绝对被设置为True。

想法?

回答

6

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

+0

Upvoted。你是对的。 – Icarus

+0

就是这样。我在看Firefox中的报告,并没有意识到打印功能在非IE浏览器中不支持。瘸。 – NotMe

+0

评论:如果报告设置为在一页中呈现报告HTML,您可以使用浏览器的打印功能,但PDF仍然是最安全的选择。 – niktrs

1

克里斯,我们有一个不同的问题(我不记得具体是什么),但我们最终不得不使用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(); 
    });