您的位置:首页 > 编程语言 > C#

C#开发学习笔记:GridView设置满足条件的单元格变色

2017-08-25 16:39 369 查看
 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的所有列,所以如果需要整行变色,只要设置所有的列都变色即可实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息