【问题标题】:How to change color of a column in RDLC report?如何更改 RDLC 报告中列的颜色?
【发布时间】:2015-09-03 10:10:56
【问题描述】:

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

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

7000,
6000,
8000,
9000

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

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

我找不到任何颜色功能等,所以请帮忙。

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

【问题讨论】:

    标签: c# asp.net reporting rdlc


    【解决方案1】:

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

    演练适用于报表生成器,但相同的代码适用于您使用的每个设计器。

    · 双击表格占位符打开其属性。
    · 选择字体部分。
    · 点击Color组合框附近的fx按钮。
    · 将现有的常量表达式替换为

    =Iif(Min(Fields!BidPrice.Value, "DataSet1") = Fields!BidPrice.Value, "Red", "Black")
    

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

    · 用OK关闭所有确认对话框。

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

    例子:

    说明

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

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

    对于等于最小值(甚至是多个)的值,表达式返回 "Red" 常量,对于其他值返回 "Black"。可以组合更复杂的表达式(例如以绿色最大值突出显示)。

    【讨论】:

    • 非常感谢先生,但我是全新的,没有选择我应该在列表达式框中输入什么?我得到了颜色 FX 部分,但不是最后一个
    • 如果您的意思是“我应该在哪里写那个表达式”:在您单击“fx”按钮时打开的大文本框中。不要忘记,从右侧的属性网格中,您也可以将此(或另一个)表达式应用于背景颜色属性(例如,具有绿色背景和白色文本)。要写的表达式是突出显示的(为了清楚起见,现在移到自己的行)
    • 好的,先生,请让我试试。先生来这里
    • 先生,我试过了,它改变了颜色,但它也显示了所有相同的值,即 6000 6000 6000 6000 .other 值消失了。每行显示相同的值(最小一个)
    • 不,对于颜色,您还必须在表达式的开头包含“=”(参见代码)。对于列,您不需要 Min() 否则它将始终显示最小值...
    猜你喜欢
    • 2016-10-26
    • 2016-05-02
    • 2013-08-28
    • 1970-01-01
    • 2011-09-22
    • 2014-01-05
    • 2020-08-05
    • 1970-01-01
    • 2011-11-09
    相关资源
    最近更新 更多