2017-03-01 131 views
0

我有一个DataGridView单元格包含字符串。如果单元格内容发生更改,我想更改此单元格的background。什么事件最适合做这件事?更改datagridview单元格中编辑的单元格

我第一次尝试CellValueChanged事件,但是这甚至通过单击此单元格而不编辑内容来调用。

这里是我的功能代码:

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

问候 R4z0R

+0

你可以发布你CellValueChanged事件试过的代码? –

回答

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 希望帮助,

+0

谢谢,这工作正常:) – R4z0R