【问题标题】:How to conditional highlight fields in a Microsoft Reporting Services RDL report?如何有条件地突出显示 Microsoft Reporting Services RDL 报告中的字段?
【发布时间】:2009-11-04 01:50:00
【问题描述】:

我有一份 RDL 报告,它是一个花名册——它是一个网格:

  • 每一行代表一天
  • 每一列代表一个任务
  • 每个单元格都包含当天执行该任务的人员的姓名。

我正在通过 MS 报告服务器提供报告。

我希望能够突出显示包含查看报告的人员姓名的单元格。所以我真的有两个问题:

  • 是否可以从随请求发送到报表服务器的环境变量中获取人员的姓名?更一般地说,如何查看发送的环境变量列表?

如果我不能自动获取他们的姓名,我可以提供一个报告参数,允许他们手动输入他们的姓名。

那么第二个问题是:

  • 假设我有一个字符串中的名称,我如何有条件地格式化报表中包含该字符串的单元格?

【问题讨论】:

    标签: conditional highlight microsoft-reporting


    【解决方案1】:

    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 运算符构造某种字符串比较。

    【讨论】:

      【解决方案2】:

      如果您要从 VS 创建报表,请选择颜色属性,然后编写公式:

      =IIf(Fields!name=Parameters!viewername, "Black", "Red")
      

      【讨论】:

      • 您可以通过单击属性窗格中Color 旁边的下拉按钮并选择Expression... 来调出单元格颜色的表达式窗口
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      相关资源
      最近更新 更多