DataGridView单元格颜色在更改时不会更改

时间:2017-08-11 11:56:58

标签: c# .net datagridview

我正在尝试编辑DataGridViewCell的BackColor,以便在用户输入不正确的值时显示为红色。

    private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        if (e.Exception is FormatException)
        {
            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;
        }

    }

由于我不理解的原因,颜色实际上没有更新。它可以很好地编辑任何其他单元格而不是选定的单元格。

1 个答案:

答案 0 :(得分:1)

我不知道你的代码,但也许你需要再考虑一下这个程序的logick。这取决于异常的来源。如果来自未设置文本的地方,则无法更改颜色。 DataError是异常,因此抛出的代码未运行。我认为DataError没有关于哪个单元格是异常的每个异常的信息。因此,你可能不会改变颜色。

我不知道您的代码,所以我无法提供帮助。但我会告诉你我该怎么做。

我会创建一个功能来检查用户输入,我会在Datagreedview CellValidating事件中调用它,如果输入不正确则在那里更改颜色