Dev 的 GridControl 某个单元格改变颜色 或者 改变一行的颜色。 注意:如果选中当前行,是没有改变颜色的。
包含:formatConditionRuleExpression1.Expression = "[是否做] = False Or Contains([最新编号], '不做')";
Contains(字段,包含内容)
OK可以完成。
注意:如果选中当前行,是没有改变颜色的。
字段日期等于今天 日期的 算天数: DateDiffDay(Now(), [今日下浆染]) = 0
方法二:最大的特点是可用于列可变。当然也可以用于绑定列,而且下面方法设置 行 颜色改变
上图没有任何列。通过赋值绑定的。代码如下:
/// <summary>
/// 设置单元格颜色改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gvField_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
GridView View = sender as GridView;
//if (e.Column.FieldName == "BgColor")//设背景
//{
// //int pointID = (gridView1.GetRow(e.RowHandle) as object).BgColor;
// e.Appearance.BackColor = Color.Red;
//}
//else if (e.Column.FieldName == "BgColor2")//设渐变背景
//{
// //int pointID = (gridView1.GetRow(e.RowHandle) as object).BgColor;
// e.Appearance.BackColor = Color.Red;
// e.Appearance.BackColor2 = Color.FromArgb(255, 255, 255);
//}
if(e.RowHandle<0)
{
return;
}
if ((e.Column.FieldName == "最新编号" && gvField.GetRowCellValue(e.RowHandle, "最新编号").ToString().Contains("不做"))
|| (e.Column.FieldName == "最新编号" && gvField.GetRowCellValue(e.RowHandle, "是否做").ToString() == "False"))//设字体颜色
{
e.Appearance.ForeColor = Color.Red;//Color.FromArgb(42, 173, 231);
}
}
参考出处:DevGridControl单元格背景色和单元格文字颜色设置_zhishiheng的专栏-CSDN博客_dev gridview 单元格颜色
方法三:设置单元格格式改变 。下面很多判断条件,懂的自然懂,需要什么自然知道需要什么。
private void gvSR_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (e.RowHandle < 0)
{
return;
}
if (e.Column.FieldName == "DSSJ")
{
string context = gvSR.GetRowCellValue(e.RowHandle, "DSSJ").ToString();
if (context.Length > 4)
{
context = context.Split('号')[0];
DateTime de = Common.GetDateTime();
try
{
context = string.Format("{0}年{1}日", de.Year, context);
DateTime toDe = Convert.ToDateTime(context);
if (toDe > de)
{
e.Appearance.ForeColor = Color.Blue;//Color.FromArgb(42, 173, 231);
// e.Column.AppearanceCell.ForeColor = Color.Blue;
}
}
catch
{
}
}
}
}