当我在我的DataGridView绑定的DataTable中以编程方式更改值时,不会为DataGridView触发相应的CellValueChanged事件。我正在尝试在DataTable填充数据时根据单元格值更改单元格的背景颜色,而不迭代每一行并检查每个值。
答案 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中完成,如果在值更改后重新绘制行,则会触发此操作。