基于条件的Tablix文本框RDLC报告中的颜色特定单元格 - Vb.net - RDLC

时间:2012-10-14 01:38:35

标签: vb.net report rdlc dynamic-rdlc-generation

我制作了一份RDLC报告,该报告根据我提供的数据集生成其Tablix。我需要单元格的内容(Tablix中的每个文本框)根据其内容更改其backColor。

例如:

Name | Val  
Joe  | 80  
Lee  | 60  
Fred | 30  
Bill | 57  

我有一个小于60的条件应该将其背色改为红色。 (因此,30和57将使其背景颜色为红色)。

注意:由于它是从数据集加载的,因此无法直接设置。如果我们将条件作为参数传递给rdlc并自行工作吗?

1 个答案:

答案 0 :(得分:5)

在background属性中使用表达式。你可以使用Fields.Name_Of_Field.Value获取你读过的某个字段的当前值,它会自动移动到每一行的正确字段。

如果你有单一测试,你可以使用这个

=IIF(Fields.Val.Value < 60, "Red", "Blue")

如果你有多个测试,你可以使用这个

=SWITCH(
 Fields.Val.Value < 60, "Red",
 Fields.Val.Value < 80 && Fields.Val.Value >= 60, "Blue",
         .
         . add other tests here
         .
 "Black") ' default is black in case all the tests fail

RDL的一大优点是可以使用表达式的数字位置。 Try this for a starter