C# Backcolor在C中的DataGridView中给了我错误的颜色#

C# Backcolor在C中的DataGridView中给了我错误的颜色#,c#,datagridview,C#,Datagridview,我有一个Datagridview,希望更改行的颜色,如下所示:第一列中具有相同值的所有行都应该具有相同的颜色。 我这样做是为了实现这一点: private void AlternatingRows() { foreach (DataGridViewRow row in dataGridView_daten.Rows) { if (row.Index > 0) {

我有一个Datagridview,希望更改行的颜色,如下所示:第一列中具有相同值的所有行都应该具有相同的颜色。
我这样做是为了实现这一点:

    private void AlternatingRows()
    {
        foreach (DataGridViewRow row in dataGridView_daten.Rows)
        {
            if (row.Index > 0)
            {
                if (row.Cells[0].Value.ToString().Substring(0, 5) == dataGridView_daten.Rows[row.Index - 1].Cells[0].Value.ToString().Substring(0, 5))
                {
                    row.DefaultCellStyle.BackColor = dataGridView_daten.Rows[row.Index - 1].DefaultCellStyle.BackColor;
                }
                else if (dataGridView_daten.Rows[row.Index - 1].DefaultCellStyle.BackColor == Color.AliceBlue)
                {
                    row.DefaultCellStyle.BackColor = Color.FromArgb(226, 241, 254);
                }
                else if (dataGridView_daten.Rows[row.Index - 1].DefaultCellStyle.BackColor == Color.FromArgb(226, 241, 254))
                {
                    row.DefaultCellStyle.BackColor = Color.AliceBlue;
                }
            }
        }
    }
因此,基本上,如果第一个单元格的值与上一行相同,则颜色应相同。。。我将数据绑定到DataGridView后调用此方法。。。我还试图在
CellFormatting
事件中调用它,但没有成功。 我的问题是,这些行仍然具有相同的颜色。调试时,
DefaultCellStyle.BackColor
为空。。。为什么
DefaultCellStyle.BackColor
返回空值?
类似于
If
子句
elseif(dataGridView\u daten.Rows[row.Index-1].DefaultCellStyle.BackColor==Color.FromArgb(226241254))

永远不会是真的

我用一种颜色解决了这个问题,颜色会随着数字的变化而变化:

    private void AlternatingRows()
    {
        foreach (DataGridViewRow row in dataGridView_daten.Rows)
        {
            if (row.Index > 0)
            {
                if (row.Cells[0].Value.ToString().Substring(0, 5) != dataGridView_daten.Rows[row.Index - 1].Cells[0].Value.ToString().Substring(0, 5))
                {
                    if (Farbe == Color.FromArgb(226, 241, 254))
                        Farbe = Color.AliceBlue;
                    else
                        Farbe = Color.FromArgb(226, 241, 254);
                }
                row.DefaultCellStyle.BackColor = Farbe;
            }
        }
    }