Я столкнулся с подобной проблемой. Я решил это, используя вместо этого событие CellValidating
:
void dgv_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
var oldValue = dgv[e.ColumnIndex, e.RowIndex].Value;
var newValue = e.FormattedValue;
}
Правда, мне просто нужен был доступ к старому значению, мне не нужно было выполнять какое-либо форматирование. Я уверен, что вы можете применить форматирование через этот обработчик событий.