DataGridView.CellValueChanged no se activa en DataGridView enlazado

Cuando cambio un valor programáticamente en una DataTable a la que mi DataGridView está vinculado, el evento CellValueChanged apropiado no se activa para el DataGridView. Estoy tratando de cambiar el color de fondo de una celda según el valor de la celda cuando la tabla de datos se llena con datos sin iterar a través de cada fila y verificar cada valor.

¿Está cambiando el DataTable directamente y espera que se dispare el evento de DataGridView ? Le sugiero que cambie el valor de celda programáticamente como:

 DataGridView[ColumnIndex, RowIndex].Value = NewValue; 

Además, tendrá que llamar a DataGridView.CommitEdit() para confirmar los valores en el DataTable . Esto debería desencadenar el evento CellValueChanged .

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

El cambio del color de fondo de las celdas debe hacerse en el evento RowPrePaint-Event, esto se activará si la fila se vuelve a pintar, después del cambio de valor.