Мне от прошлого разработчика достался код, где периодически срабатывает событие DataError у DataGridView. DataGridView работает на основе BindingSource. Срабатывает не всегда, программа может работать несколько суток без этого события, а может сработать сразу же после запуска. Вот обработчик этого события:
private void dataGridViewMarkets_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
try
{
e.ThrowException = false;
e.Cancel = true;
if (e.ColumnIndex >= 0 && e.ColumnIndex < dataGridView1.Columns.Count)
{
if (e.RowIndex >= 0 && e.RowIndex < dataGridView1.Rows.Count)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].ErrorText = "Ошибка";
}
}
}
catch (Exception)
{
}
}
После срабатывания этого события DataGridView принимает следующий вид:
DataError
В ячейках где стоят восклицательные знаки сработало событие DataError. После этого все данные, которые отображаются пустыми, становятся недоступными и работать с ними больше не получается.
Мне непонятно в чем может быть причина этого и как с этим бороться?
Попробуй
e.Exception в Лог скинуть, или вместо "Ошибка" вывести e.Exception.ToString()
... << RSDN@Home 1.2.0 alpha 5 rev. 1497>>