我正在尝试编辑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;
}
}
由于我不理解的原因,颜色实际上没有更新。它可以很好地编辑任何其他单元格而不是选定的单元格。
答案 0 :(得分:1)
我不知道你的代码,但也许你需要再考虑一下这个程序的logick。这取决于异常的来源。如果来自未设置文本的地方,则无法更改颜色。 DataError是异常,因此抛出的代码未运行。我认为DataError没有关于哪个单元格是异常的每个异常的信息。因此,你可能不会改变颜色。
我不知道您的代码,所以我无法提供帮助。但我会告诉你我该怎么做。
我会创建一个功能来检查用户输入,我会在Datagreedview CellValidating事件中调用它,如果输入不正确则在那里更改颜色