2015-04-21 3 views
0

Я работаю с текстовым столбцом DataGridView. Столбец привязан к десятичному столбцу в DataTable.Значение DataGridView по умолчанию при отказе проверки

Если я отредактировал ячейку, чтобы иметь пустое значение, а затем вышла из таблицы, я получаю исключение из-за проблемы с разбором десятичного числа.

Я понимаю, почему это происходит и для его решения. Я хотел бы просто заставить значение «0.00», но я не могу заставить его работать.

Я попытался следующие, но это не сработало:

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
{ 
    if (e.ColumnIndex == amountIdx) 
    { 
     if (e.FormattedValue == "") 
      dataGridView1[e.ColumnIndex, e.RowIndex].Value = "0.00"; 
    } 
} 

Вместо того, чтобы установить значение можно установить e.Cancel = верно, но это просто оставляет его в режиме редактирования, не то, что я на самом деле хотеть.

ответ

0

Я понял это. Значение, похоже, сбрасывается после срабатывания CellValidating. Вместо обновления фактического базового значения мне пришлось установить EditingControl обратно на «0.00». После завершения CellValidating новым значением сохраняется в источнике данных.

Смежные вопросы