【问题标题】:Reporting Services 2008: Is there a way to change item properties, depending on how a report is being rendered?Reporting Services 2008:是否可以根据报表的呈现方式更改项目属性?
【发布时间】:2009-02-06 08:34:53
【问题描述】:

我正在写一份报告,它可以很好地导出为 PDF。但是,它不能正确导出到 Word 文档 (.doc)。

(页眉区域的边距被忽略,这会弄乱分页符、页脚文本丢失等)

要解决此问题,我想根据报告是呈现为 PDF 还是 Word 文档来禁用、启用和/或调整报告中的一些项目的大小。

有没有办法根据报告的呈现方式设置项目属性?

【问题讨论】:

    标签: sql-server reporting-services reporting export-to-word


    【解决方案1】:

    我认为解决您的问题的唯一方法是:在您的报告中,您可以访问 Globals.ReportServerUrl。调用报表时,您可以在 URL 中指定其呈现类型(甚至其他内容,如尺寸等)。您需要做的就是编写一些自定义代码来从 URL 中提取呈现类型,然后就完成了。

    有关所有可能的 URL 参数的更多信息,请访问此处:http://technet.microsoft.com/en-us/library/ms154040.aspx

    【讨论】:

    • 不像我希望的那么简单,但它有效 :) 谢谢!
    【解决方案2】:

    我有一个类似的场景,我需要在 asp.net 应用程序中使用报表查看器控件。我想出的解决方案是将工具栏隐藏在报表查看器控件中,并为各种格式(PDF、Excel 是我们目前使用的两种格式)创建自己的下拉选择器。

    解决方法是,在加载报表查看器控件时,我将一个附加参数传递给我的报表,指示“RenderType=HTML”。当请求说 PDF 版本时,我使用相同的方法,除了我使用 ServerReport.Render() 函数并传递“PDF 作为 RenderType 参数,与 Excel 相同。

    这允许我在我的报告中针对各种报告格式进行条件格式化/显示/隐藏内容。

    因为报表查看器 Web 控件支持从后面的代码渲染特定页面/缩放等功能,所以很容易构建我们自己的“工具栏”来操作报表,并为我们提供了更适合我们的样式的优势应用程序,(尽管无论如何这都可以用 css 完成)。它解决的另一个问题是需要活动 x 组件的奇怪打印功能,我们实现了自己的打印机制以打印机友好的方式写出报告。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多