我创建了表格,我需要根据该列第一行的值更改列的背景颜色。
如果特定列的第一行值为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;
}
}
答案 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?