DataGridView 单元格背景颜色

private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            if (e.RowIndex >= dataGridView1.Rows.Count - 1)
                return;
            DataGridViewRow dgr = dataGridView1.Rows[e.RowIndex];
            try
            {
                string[] Flag = dgr.Cells["Flag"].Value.ToString().Split('-');
                DataGridViewCellStyle cstyle = new DataGridViewCellStyle();
                cstyle.BackColor = Color.GreenYellow;

                for (int i = 0; i < Flag.Length; i++)
                {
                    if (Flag[i] == "1")
                    {

                        //dgr.DefaultCellStyle.ForeColor = Color.Blue;

                        dgr.Cells[0].Style = cstyle;
                    }
                    if (Flag[i] == "2")
                    {

                        //dgr.DefaultCellStyle.ForeColor = Color.Blue;
                        dgr.Cells[1].Style = cstyle;
                    }
                    if (Flag[i] == "3")
                    {

                        //dgr.DefaultCellStyle.ForeColor = Color.Blue;
                        dgr.Cells[2].Style = cstyle;
                    }
                    if (Flag[i] == "4")
                    {

                        //dgr.DefaultCellStyle.ForeColor = Color.Blue;

                        dgr.Cells[3].Style = cstyle;
                    }

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

原文地址:https://www.cnblogs.com/ok519/p/1558084.html