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

版权声明:本文为博主原创文章,未经博主允许不得转载。 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的所有列,所以如果需要整行变色,只要设置所有的列都变色即可实现

猜你喜欢

转载自blog.csdn.net/JustWantToFly/article/details/77579563