根据用户选择的导出格式显示不同的报表布局

时间:2015-10-21 11:14:14

标签: reporting-services ssrs-2008 ssrs-tablix

是否有任何方法可以根据SSRS中选择的导出格式更改报告布局?

当我的报表导出为包含表格中六列以上的PDF时,它会溢出页面并创建一个丑陋的布局。我希望能够将表限制为仅在将报表导出为PDF时显示最多六列。导出到Excel时报告工作正常,因此在这种情况下我不需要限制列。

1 个答案:

答案 0 :(得分:3)

您无法根据报告的内容限制PDF导出选项。 (至少在没有对PDF渲染器进行某种强化修改的情况下......我不会想到会采取什么措施。)

可以根据呈现类型控制报告的布局。有一个内置的全局,它将告诉你正在使用哪种渲染格式。

 =IIF(Globals!RenderFormat.Name="PDF",...

根据您尝试实现的目标,您可以隐藏某些元素并显示其他元素或限制要显示的元素数量。

如果Tablix上有列组,您可以尝试使用Top N过滤器或将呈现格式传递给SQL查询,以限制为列组返回的值的数量。虽然我没有试过这个但是我想它会起作用。当然,如果您这样做,您应该在报告上显示一条注释,以便用户知道由于他们已经选择的导出格式或者我确定您已经隐藏了数据。至少得到一些关于缺失数据的电话。

或者,我过去使用它来显示一个简单的表格,其中包含EXCEL渲染格式列中的所有数据,并显示更复杂的&用于PDF导出的格式良好的表格,我确信它适用于页面。这只是在每个表上使用visible属性,并使用表达式检查渲染格式。

确实,这是更多的努力,因为您必须创建两个显示相同信息的元素,但它会生成更强大和有用的报告,因为它可以以多种格式的最佳布局导出。

另一个用途是检查Globals!RenderFormat.IsInteractive属性并展开折叠部分,否则这些部分在导出为您无法点击它们的格式时将无用。

资源: