如何更改 RDLC 报告中列的颜色?

How to change color of a column in RDLC report?

我在 asp.net 中使用 RDLC 报告。

我正在获取数字数据,例如

7000,
6000,
8000,
9000

在特定列中,即 BidPrice 及其表达式 `=CDec(Fields!BidPrice.Value)

`现在加载 RDLC 报告时,它应该显示以红色突出显示的最低值,即 6000 应该以红色突出显示或它后面的任何其他最低值。

我找不到任何颜色函数等所以请帮忙。

更新:我这样做了,但它以红色显示了最大的数字。

几乎每个 属性 的报表项都可以是表达式。在您的情况下,您需要对 table 单元格的占位符属性使用表达式。

演练适用于 Report Builder,但相同的代码适用于您使用的每个设计器。

· 双击 table 占位符打开其属性。
· Select 字体 部分。
· 单击 颜色 组合框附近的 fx 按钮。
· 用

替换现有常量表达式
=Iif(Min(Fields!BidPrice.Value, "DataSet1") = Fields!BidPrice.Value, "Red", "Black")

不要忘记将 Dataset1 替换为您的数据集名称。

· 关闭所有用 OK.

确认的对话框

您在 属性 网格中也可以使用相同的 属性(您还可以更改背景颜色,例如在红色背景上显示白色文本)。

示例:

解释:

Iif returns 如果第一个参数的表达式计算结果为真,则为第二个参数,否则为第三个参数。我们用它根据一个表达式select一种颜色。

现在我们必须找到最小值,我们可以对整个数据集使用聚合函数(Fields!BidPrice.Value 总是计算当前 记录然后 Min(Fields!BidPrice.Value) = Fields!BidPrice.Value 总是 true)。语法很简单:Min(Fields!BidPrice.Value, "DataSet1") 在整组数据中找到最小值。

表达式 returns "Red" 等于最小值(甚至多个)的值和 "Black" 其他值的常数。可以组合更复杂的表达式(例如,也可以用绿色突出显示最大值)。