Я работаю (исправляю ошибки) над проектом, который был написан в VS 2005. В форме есть один элемент управления DataGridView. Когда он загружается впервые, сетка данных элемента управления заполняется строками данных из коллекции вручную или в кодах. На самом деле, есть метод PopulateDataGrid (), который выполняет эту работу.
В форме есть еще один элемент управления. Когда элемент управления изменяется, сначала будет очищена сетка данных, а затем строки снова заполнены с помощью PopulateDataGrid (). Проблема в том, что при обновлении сетки вертикальная полоса прокрутки не сбрасывается правильно. Я думал, что так и должно быть. Поскольку полоса прокрутки не сбрасывается, когда я пытался нажать на сетку и двигаться вниз, я получил исключение: {«Значение« 222 »недопустимо для« Значение ».« Значение »должно быть между« минимальным »и« максимальным » '. \ r \ nПараметр имени: значение "}:
at System.Windows.Forms.ScrollBar.set_Value(Int32 value)
at System.Windows.Forms.DataGridView.ScrollRows(Int32 rowCount, Int32 deltaY, ScrollEventType scrollEventType)
at System.Windows.Forms.DataGridView.ScrollRowsByCount(Int32 rows, ScrollEventType scrollEventType)
at System.Windows.Forms.DataGridView.ScrollRowIntoView(Int32 columnIndex, Int32 rowIndex, Boolean committed, Boolean forCurrentCellChange)
at System.Windows.Forms.DataGridView.ScrollIntoView(Int32 columnIndex, Int32 rowIndex, Boolean forCurrentCellChange)
at System.Windows.Forms.DataGridView.ProcessDownKeyInternal(Keys keyData, Boolean& moved)
at System.Windows.Forms.DataGridView.ProcessDataGridViewKey(KeyEventArgs e)
at System.Windows.Forms.DataGridView.OnKeyDown(KeyEventArgs e)
at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
...
Все настройки для управления сеткой являются значениями по умолчанию. Например, ScrollBars - Оба. Ниже приводится единственное связанное место для установки свойства автоматического размера строки:
poDataGridView.AutoSizeRowsMode =
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
Я не уверен, есть ли какое-либо свойство, которое я должен установить в конструкторе?