2

我正在使用 SSRS 2012 尝试执行以下操作:

某些列应该只在用户请求时才可见,使用组合框。列的可见性取决于组合中选定的列。这似乎工作正常!

当我以任何不同于 .csv 的格式导出输出时,这些列仍然不可见。但是当导出到 .csv 时,会显示不可见的库。

我找到了这个:

=iif(Globals!RenderFormat.Name="CSV", True, False)

这应该放在我要隐藏的列的“隐藏”属性中。但它不起作用,当我写表达式时,RenderFormat 不是自动完成的选项。

对不起我笨拙的英语,谢谢。

4

2 回答 2

4

CSV (and XML) export from SSRS is treated very differently than most export formats. These two are considered data renderers, not page renderers, and are generally written to get at the data underlying the report, disregarding layout options. Part of this is that field visibility isn't handled the same way. I don't know if it's a bug or intentional design, but .CSV apparently doesn't honor visibility set in expressions. One suggested work around is to conditionally set the value to null in the underlying dataset. (This could be based on a parameter.)

于 2012-10-22T16:56:29.280 回答
1

有一种本机方法可以隐藏发送到 CSV 的数据元素,方法是使用DataElementOutput=NoOutput

  1. 打开属性菜单 ( F4)TextBox

  2. DataElementOutput属性设置为NoOutput

    截屏

进一步说明

当 SSRS 必须渲染图表时,它需要做出几个决定。如果您花了很多时间进行一些很酷的格式化,它会在转到 PDF 时尝试保留这些,因为 PDF 文档充满了丰富的格式。例如,如果您设置报告的边距,PDF 应该关心,但 CSV 甚至无法保存该信息(也不应该)。

因此,SSRS 使用了不同的渲染引擎

渲染引擎

每一个都有自己的过程。例如,数据导出只会从数据字段中提取信息。例如,欢迎数据字段具有多层标题,其名称可能使用也可能不使用符合 CLS 的标识符,因此直接从文本框名称本身提取该信息更安全。

包含数据的 TextBox 也可用于设置其他数据导出属性。

在这种情况下,您可以使用DataElementOutput删除特定的数据字段:

指示数据点是否应出现在数据呈现中。

延伸阅读

于 2014-12-18T19:19:09.020 回答