【问题标题】:SSRS Hide/show image based on row valueSSRS 根据行值隐藏/显示图像
【发布时间】:2019-12-07 23:33:25
【问题描述】:

我有一份 SSRS 报告,其中有几行考试结果,一列是考试名称,另一列是结果。但是,如果考试名称列包含我想显示图像的特定考试名称,则在使用以下显示/隐藏时它似乎一直隐藏

=iif(Fields!txtResultName.Value = "VR*",True,False)

它似乎总是隐藏 VR 记录是否存在的天气。

设计视图如下所示:

我在第 2 行还有以下可见性表达式,以隐藏“VR*”考试或任何其他考试(如果不存在结果)。

=iif(len(Fields!txtResult.Value) = 0,True,False)

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    所以第一个问题,您希望图像在txtResultNameVR 开头时可见?因为 SSRS 的可见性有点奇怪,因为您实际上是在为 Hidden 设置表达式——这意味着当条件计算为真实结果时,对象被隐藏。我猜你想颠倒真假值。其次,您应该能够使用ContainsInStr 来使其正常工作。

    = IIF(Fields!txtResultName.Value.Contains("VR"), False, True)
    

    或者InStr:

    =IIF(InStr(Fields!txtResultName.Value, "VR") > 0, False, True)
    

    Contains 只是在整个字符串中搜索字符VR,并在找到字符时显示图像。 InStr 搜索相同的字符,但返回一个值,指示字符在字符串中出现的位置——因此任何大于零的值都表示它们存在于字符串中。

    【讨论】:

    • 感谢史蒂夫的回复。这两个我都试过了,现在似乎总是显示出来。但是,即使那个孩子没有VR标记,仍然显示......虽然这让我思考。我已经有了另一个可见性表达式来隐藏任何不包含成绩的行,因此从技术上讲,VR 名称将始终存在,但如果没有结果则隐藏。如何让图像仅在名为 VR 的行中有成绩时显示?
    • 您可能需要使用一些表达式,将另一个隐藏表达式与我们正在处理的表达式结合起来。您能否为您的问题添加更多细节?在设计视图和/或预览视图中放置另一个隐藏的表达式,或者是您的报表的屏幕截图?了解更多有关事物外观的信息会更容易。
    • 我想也许是这样,或者以某种方式抑制查询中的空白记录,但不确定这是否可能......我已经用更多信息更新了这个问题。
    【解决方案2】:

    谢谢,史蒂夫,最终解决方案如下:

    =iif(max(iif(Fields!txtResultName.Value="VR*", Fields!txtResult.Value,nothing)) = nothing, true, false)
    

    【讨论】:

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