如何用ssrs解析rdlc report Multivalue

How to parse rdlc report Multivalue with ssrs

我想做什么

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

这是我现在使用的 SSRS:

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

这是做什么的

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

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

Parameters!listeRNC.Value(index)

但是我怎样才能在此列表中进行查找?就像 List.Find 方法或 foreach ?

我觉得你要找的和下面的答案很像link。但这里有什么会让你朝着好的方向前进:

=Iif(Array.IndexOf(参数!p_myMultipleValueParameter.Value,字段!groepType.Value) > -1,"Found","Not Found")

IndexOf

最后我的问题不是代码本身,我错误地配置了参数本身。我以前都是通过报表的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")