版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JustWantToFly/article/details/77579563
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (gridView1.GetDataRow(e.RowHandle) == null)
return;
if (e.Column.FieldName != "selected")
{
if (e.Column.FieldName =="WARRANTY_NO")
{
if (gridView1.GetDataRow(e.RowHandle)["WARRANTY_NO"].ToString().Trim() == "")
{
//该行数据的该列的值不为空时时,其背景色为Red
e.Appearance.BackColor = Color.Red;//设置单元格变色
//e.Column.AppearanceCell.BackColor = Color.Red;//设置数据列变色
}
}
else if (e.Column.FieldName == "BUY_ORDER_NO")
{
if (gridView1.GetDataRow(e.RowHandle)["BUY_ORDER_NO"].ToString().Trim() == "")
{
//该行数据的该列的值不为空时时,其背景色为Red
e.Appearance.BackColor = Color.Red;//设置单元格变色
//e.Column.AppearanceCell.BackColor = Color.Red;//设置数据列变色
}
}
else if (e.Column.FieldName == "CAR_NO")
{
string AAA = gridView1.GetDataRow(e.RowHandle)["CAR_NO"].ToString().Trim();
if (gridView1.GetDataRow(e.RowHandle)["CAR_NO"].ToString().Trim() == "")
{
//该行数据的该列的值不为空时时,其背景色为Red
e.Appearance.BackColor = Color.Red;//设置单元格变色
//e.Column.AppearanceCell.BackColor = Color.Red;//设置数据列变色
}
}
else if (e.Column.FieldName == "PAST_NO")
{
if (gridView1.GetDataRow(e.RowHandle)["PAST_NO"].ToString().Trim() == "")
{
//该行数据的该列的值不为空时时,其背景色为Red
e.Appearance.BackColor = Color.Red;//设置单元格变色
//e.Column.AppearanceCell.BackColor = Color.Red;//设置数据列变色
}
}
else if (e.Column.FieldName == "WEIGH_SITE")
{
if (gridView1.GetDataRow(e.RowHandle)["WEIGH_SITE"].ToString().Trim() == "")
{
//该行数据的该列的值不为空时时,其背景色为Red
e.Appearance.BackColor = Color.Red;//设置单元格变色
//e.Column.AppearanceCell.BackColor = Color.Red;//设置数据列变色
}
}
}
}
注:
由于 CustomDrawCell 事件是重绘当前GridView的所有列,所以如果需要整行变色,只要设置所有的列都变色即可实现