根据报告中的条件更改表格列中的背景颜色

时间:2017-02-16 04:07:40

标签: c# reporting-services devexpress

我创建了表格,我需要根据该列第一行的值更改列的背景颜色。

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

以下是我的尝试,但无法达到我的要求。

注意:我应该使用像XRTableCell这样的Reporting 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;
    }
}

1 个答案:

答案 0 :(得分:0)

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

  

处理XRTableCell.BeforePrint事件并更改Backcolor   或发件人对象的Text属性。要获得处理过的记录,   使用XtraReportBase.GetCurrentRow或   XtraReport.GetCurrentColumnValue方法。

您可以使用Conditional Formatting帮助文章中描述的FormattingRules,也可以处理相应单元格的BeforePrint事件,并根据处理后的值设置发件人对象的BackColor。

请参阅:
Customize the Report Appearance
Changing background of XRTableCell according to color value in data column.
How to change the XRTable background color?