【问题标题】:How to parse rdlc report Multivalue with ssrs如何使用 ssrs 解析 rdlc 报告多值
【发布时间】:2017-08-22 17:11:01
【问题描述】:

我想做的事

如果名为 listeRNC 的多值参数中存在列“NCRNumber”的值,我想更改行的背景颜色。

这是我现在使用的 SSRS:

= iif ((Parameters!listeRNC.Value.ToString() = Fields!NCRNumber.Value.ToString()), "Khaki","White")

这是做什么的

这只是为第一行着色(这也是 Parameters!listeRNC 中的第一个元素)..

我知道我可以像这样访问多值列表中的各种项目

参数!listeRNC.Value(index)

但是我怎样才能在这个列表中进行查找呢?就像使用 List.Find 方法或使用 foreach 一样?

【问题讨论】:

    标签: c# reporting-services rdlc multivalue


    【解决方案1】:

    我认为您正在寻找的内容与以下链接中的答案非常相似。但以下是可以为您指明正确方向的内容:

    =Iif(Array.IndexOf(Parameters!p_myMultipleValueParameter.Value, Fields!groepType.Value) > -1,"Found","Not Found")

    IndexOf

    【讨论】:

      【解决方案2】:

      最后我的问题不在于代码本身,我错误地配置了参数本身。我曾经通过报表的 XML 代码手动添加参数。但是我写多值参数的方式是错误的。

      因此,对于那些感兴趣的人来说,这里是正确的 XML:

      <ReportParameter Name="YourParameterNameGoesHere">
        <DataType>String</DataType>
        <Prompt>ReportParameter1</Prompt>
        <MultiValue>true</MultiValue>
      </ReportParameter>
      

      这就是我找到它的方法:在查看您的报告 [设计] 模式时,转到 Visual Studio 的工具条菜单 -> 视图 -> 报告数据 (ctrl+alt+D)。然后转到参数,然后右键单击-> 添加参数。确保选中多值选项。你去吧!

      这是我用来解析整个事情的最终代码:

      = iif((InStr(Join(Parameters!listeRNC.Value,",").ToString(),fields!NCRNumber.Value.ToString(),CompareMethod.Text)), "Khaki","White")
      

      【讨论】:

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