Я понял. Datagridview не может НИЧЕГО изменить. Я так не думаю, но все же иногда получаю это исключение. Вот что так странно. Более чем в 90 +% случаев он работает нормально.
У меня есть элемент управления вкладками в форме Windows, а на нескольких страницах вкладок есть элементы управления представлением сетки данных. Ни один из них не привязан к базе данных. Когда пользователь перемещается по страницам вкладок, появляется код для каждого события входа и выхода страницы вкладки. При входе на вкладку, если есть элемент управления DGV, появляется строка кода для очистки всех строк.
Private Sub Tab3_Plan_Enter(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Tab3_Plan.Enter
dgPlan.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
CircuitItems = LoadCatalogItems(dgPlan, cbVDSvcLocation, iKind.PlanSku)
' More event code
Private Function LoadCatalogItems(ByRef DGV As DataGridView, _
ByVal cbControl As System.Windows.Forms.ComboBox, _
ByRef ItemKind As Integer) As Integer
Dim DescDGName As String
Dim OrigInternalDesc As String
Dim DisplayDesc As String
DGV.Rows.Clear() ' <-- This is where the exception is thrown
' More function code
Может ли AutoSizeRowMode в обработчике событий Tab3_Plan_Enter иметь какое-либо отношение к этому? Если да, то как я могу это преодолеть? Будет ли хорошей идеей переупорядочить две строки кода в Tab3_Plan_Enter?