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的所有列,所以如果需要整行变色,只要设置所有的列都变色即可实现
C#开发学习笔记:GridView设置满足条件的单元格变色
最新推荐文章于 2022-12-26 20:34:25 发布