2011-09-08 191 views
1

当文本格式不正确时,我想更改单元格中的ForeColor,我输入此文字后更改颜色代码 - 这是正确的方式吗?更改dataGridView单元格中的颜色

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

如何在用户以正确格式输入文本后将其更改回来?

回答

1

或者更好的使用dgv_CellValidating事件。如果该值不是您想要的值,请调用您在那里的代码。 在那里你必须有另一个事件(dgv_CellEndEdit),你可以将ForeColor设置为defualt(这样错误会消失)。

2

您可以在CellValidated事件处理程序中将颜色恢复为正常。

+0

谢谢,但我的第一个问题呢? – samy

+0

你的代码似乎是正确的,如果你正在获得所需的视觉效果,你应该很好去。 –

+0

它不工作,如果它不是正确的格式马上就是文本红色 – samy

0

你的代码似乎是正确的,如果你正在获得所需的视觉效果,你应该很好去。

相同的方式,我们可以改变背景颜色也..

dataGridView1.Rows [e.RowIndex] .Cells [e.ColumnIndex] .Style.BackColor = Color.Green;

0
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Green;