DataGridView.CellValueChanged没有在绑定的DataGridView上触发

时间:2010-04-05 18:36:05

标签: c# datagridview datatable

当我在我的DataGridView绑定的DataTable中以编程方式更改值时,不会为DataGridView触发相应的CellValueChanged事件。我正在尝试在DataTable填充数据时根据单元格值更改单元格的背景颜色,而不迭代每一行并检查每个值。

2 个答案:

答案 0 :(得分:2)

您是直接更改DataTable并期望DataGridView的事件被解雇? 我建议您以编程方式更改单元格值:

DataGridView[ColumnIndex, RowIndex].Value = NewValue;

此外,您必须致电DataGridView.CommitEdit()将值提交至DataTable。这应该会触发CellValueChanged事件。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx

答案 1 :(得分:0)

更改单元格背景颜色应该在RowPrePaint-Event中完成,如果在值更改后重新绘制行,则会触发此操作。