更改datagridview单元格中已编辑的单元格

时间:2017-03-01 08:25:44

标签: c# datagridview

我有一个DataGridView,单元格包含字符串。如果更改了单元格内容,我想更改此单元格的background。这样做最好的事件是什么?

我首先尝试了CellValueChanged事件,但是甚至可以通过单击此单元格而不编辑内容来调用此事件。

这是我的功能代码:

private void GVCrs_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
     this.GVCrs.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Orange;
}

此致 R4z0R

1 个答案:

答案 0 :(得分:1)

您可以尝试CellBeginEditCellEndEdit个事件,

string beforeValue = "";
private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
{
     beforeValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
     if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() != beforeValue)
     {
            dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;
            beforeValue = "";
     }
}

<强>结果; enter image description here 希望有所帮助,