У меня есть DataGridView в форме, которая загружается в некоторые данные из объекта DataTable, когда что-то на предыдущем шаге (это приложение типа мастера, и это находится в TabControl). При переходе с предыдущего шага есть файл, который помещается в DataGridView с добавлением нескольких дополнительных столбцов. Чтобы уточнить: заполнение таблицы работает точно так, как должно было - нет проблем с самими данными.Как получить DataGridView для рендеринга?
Моя проблема заключается в том, что при переходе с предыдущего шага DataGridView не отображается правильно. Он по-прежнему показывает предыдущий шаг, на котором должны быть данные, и отображает только данные при выборе ячеек (отдельных ячеек, где он отображает эту ячейку (когда я нахожу мышь над readonly = ложными ячейками или нажимает на ячейки readonly = true) или выбор всей таблицы). Скриншоты ниже:
Когда экран сначала сделать:
Когда я выбрал все клетки:
я пробовал программно выбрать все ячейки (используя datagridview1.SelectAll()
) после того, как я заполнил DataGridView, но это не имеет никакого значения. Я также пробовал использовать метод datagridview1.Select()
и настройку datagridview1.CurrentCell = datagridview1.Rows[0].Cells[0]
.
Я не уверен, что это может быть разрешено с помощью кода - есть ли способ убедиться, что ячейки отображаются правильно или это проблема с моей локальной машиной?
Ничего из этого не должно быть необходимым. Поэтому вам нужно выяснить причину. Является ли DGV в «TabPage»? Они, как правило, блокируют отображение обновлений до тех пор, пока страница не будет выбрана. Обычно достаточно называть 'datagridview1.Refresh()'. – TaW
@TaW Он находится в 'TabPage', но метод' Refresh() 'не обновляет его ... Есть ли другой способ обновить интерфейс? – Charlotte
__When__ вы называете Refresh? Его нужно называть __after__, страница показана! – TaW