代码之家  ›  专栏  ›  技术社区  ›  keithwarren7

ssrs:根据参数值有条件地隐藏列-csv export忽略

  •  6
  • keithwarren7  · 技术社区  · 15 年前

    我在SSR2008中有一个简单的基于表的报告,有10列,每列都有一个相应的参数来确定是否应该显示该列。我通过在设计模式下右键单击列标题时设置列可见性选项来实现这一点。在我的例子中,我选择“基于表达式显示或隐藏”,将表达式设置为布尔类型的参数值。

    该功能在初始呈现期间按预期工作,但是当我选择将报告导出到csv时,可见性表达式将被忽略或不计算,因为无论设置如何,列都会显示出来。

    可见性对话框有三个选项,基于表达式显示/隐藏/显示或隐藏-如果我显式设置隐藏选项,csv导出不包括列,但是如果我使用表达式,它将包括-我甚至使表达式显式类似“=true”,仍然被忽略。

    如何获得导出选项以正确评估此值?

    3 回复  |  直到 10 年前
        1
  •  1
  •   Russ Bradberry    15 年前

    不能使用表达式隐藏或省略导出的列。这是因为表达式只在报表本身中进行计算,而不是导出。

    解决方法是默认情况下隐藏列,并使用表达式显示所有其他列。

    抱歉,上述说法毫无意义。似乎您需要做的是生成一个参数,该参数将显示要隐藏或显示的列,然后当报表运行时,不显示这些列中的任何数据。还可以根据这些参数更改列标题的值。

    唯一的另一个选项是使用不同的列组合创建尽可能多的报表,然后动态加载正确的报表。

        2
  •  4
  •   KyleMit Steven Vachon    10 年前

    Karenh在文章中提供了一个解决方案 hide/show items dependent on export-format

    基本上,您可以在要隐藏的控件上设置

    当导出到csv时,这对我隐藏表很有用。

    基本上,你可以设置 DataElementOutput = NoOutput 在你想要隐藏的控件上。

    当导出到csv时,这对我隐藏表很有用。

    screenshot

        3
  •  1
  •   Widor    12 年前

    我相信这可能是个虫子。我在运行时使用了ReportingServices导出,其中隐藏的列依赖于参数。如果我在隐藏列的情况下运行报表,然后将结果导出到Excel或PDF或大多数导出格式,则不会导出隐藏列。如果将报告导出到csv文件,则会导出隐藏列。这当然是csv导出中的一个错误。

    从逻辑上讲,它们都应该以相同的方式运行。