我有一份 RDL 报告,它是一个花名册 -- 它是一个网格:
- 每一行代表一天
- 每一列代表一个任务
- 每个单元格都包含当天执行该任务的人员的姓名。
我在 MS 报告服务器上提供报告。
我希望能够突出显示包含查看报告的人员姓名的单元格。所以我真的有两个问题:
- 是否可以从随请求一起发送到报表服务器的环境变量中获取此人的姓名?更一般地说,如何查看已发送的环境变量列表?
如果我不能自动获取他们的名字,我可以提供一个报告参数,允许他们手动输入他们的名字。
那么第二个问题是:
- 假设我有一个字符串形式的名称,我如何有条件地格式化报表中包含该字符串的单元格?
最佳答案
rdlc 中的每个对象都有属性。您可以为它们分配常量值或表达式。在这种情况下,您必须使用 IIf 并简单地将 Field!name 与 Parameter!name 进行比较
这看起来像这样:
=IIf(Fields!name=Parameters!viewername, "Black", "Red");
PS> 我忘了提到您必须将它分配给文本框/单元格的 Color 属性。
有一组“全局”变量,其中包含“UserID”,它是执行报告的人的域帐户。因此,要自动将值与域帐户进行比较,您可以将此表达式分配给字段的 Color 属性:
=IIf(Fields!name=User!UserID, "Black", "Red");
如果它们不完全匹配(因为您没有在名册值中包含域名),那么您必须使用 Like 运算符构建某种字符串比较。
关于conditional - 如何有条件地突出显示 Microsoft Reporting Services RDL 报告中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671270/