C# 根据报告中的条件更改表列中的背景色

C# 根据报告中的条件更改表列中的背景色,c#,reporting-services,devexpress,C#,Reporting Services,Devexpress,我已经创建了一个表,在这个表中,我需要根据该列第一行的值更改列的背景色 若特定列的第一行值为0或连字符(-),则需要更改 1.)该列行的背景色为灰色,否则为透明 2.)该特定列行中的所有值都应使用连字符(-)填充 以下是我尝试过的,但未能达到我的要求 注意:我应该使用诸如XRTableCell之类的报告API控件。实现这一目标的其他想法也受到欢迎 using System; using System.Drawing; using DevExpress.XtraReports.UI; priva

我已经创建了一个表,在这个表中,我需要根据该列第一行的值更改列的背景色

若特定列的第一行值为0或连字符(-),则需要更改 1.)该列行的背景色为灰色,否则为透明 2.)该特定列行中的所有值都应使用连字符(-)填充

以下是我尝试过的,但未能达到我的要求

注意:我应该使用诸如XRTableCell之类的报告API控件。实现这一目标的其他想法也受到欢迎

using System;
using System.Drawing;
using DevExpress.XtraReports.UI;

private void tableCell12_BeforePrint_1(object sender, System.Drawing.Printing.PrintEventArgs e)
{
    XRTableCell tableCell = sender as XRTableCell;
    double bancoAtivo = Convert.ToDouble(tableCell.Report.GetCurrentColumnValue("Campaign Count"));

    if (bancoAtivo = 0)
    {
        tableCell.BackColor = Color.Grey;
    }
    else
    {
        tableCell.BackColor = Color.Transparent;
    }
}

您的实现是正确的,但在您对问题的描述中存在一些差距。如果您只想更改单列单元格的颜色,我还建议您使用相同的方法

处理事件并更改背景色 或发件人对象的文本属性。要获取已处理的记录, 使用或 方法

您可以使用帮助文章中描述的格式化规则,也可以处理相应单元格的BeforePrint事件,并根据处理后的值设置发件人对象的背景色

参考这些:



您的代码看起来像是打字错误。。根据您的实现方式,您的代码应该可以正常工作,但列名不能包含空格,if语句看起来也不错。这里我需要检查数据列的第一行,如何检查或设置条件,以便如果第一行为零或列中的hypen,我需要将整列灰显,然后用连字符替换整列的零。在您的链接中,我得到了更改颜色的代码,我需要根据列的第一行的条件更改颜色。