Необходимо вывести на форме несколько таблиц для просмотра.
Мне показалось, что наиболее подходящим для этого является DataGridView. Также мне кажется, что руками добавлять / обновлять в нем строки - не есть правильно, я решил использовать для хранения данных DataTable. Проблема в том, что при программном изменении данных в DataTable (ячейки) эти изменения не отображаются в DataGridView. Новая строка отображается, а изменения в существующей строке - нет. Перерыв кучу интернетов, попробовал использовать промежуточное звено BindingSource, а также методы Update() и Refresh() DataGridView. Ничего не помогает.
Неужели необходимо каждый раз при изменении данных перепривязывать источник к DataGridView, чтобы он отобразил изменения? У меня данные могут обновляться до нескольких раз в секунду. И таблиц несколько.
Прошу помочь.
Всё работает, сам виноват.
При создании DataTable у всех колонок выставил ReadOnly = true, в таком режиме даже программно нельзя изменять данные. Выяснил путём добавления на форму тестовой кнопки, которая добавляла строку и меняла данные - возникла ошибка.
До этого все действия с DataTable делались в подписке на событие - там ошибки не выводились. Кстати почему?
Может ещё кто-то сталкивался: при интенсивном добавлении строк DataGridView начинает глючить: пропадают кнопки вверх/вниз у скролла, задваивается на доли секунды последняя строка (у меня сделано, чтобы таблица автопрокручивалась вниз dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[0];).
Как это лечить?