Я пытаюсь загрузить свои текстовые поля с моими значениями DataGridView, как показано ниже, но я получаю сообщение об ошибке «Первое случайное исключение типа« System.NullReferenceException »в Microsoft.VisualBasic.dll», программа все еще работоспособна, несмотря на это. Кто-нибудь знает, что случилось?

Огромное спасибо.

Код:

For iloop = 0 To DataGridView2.Rows.Count
        For Each cCtrl As Control In Panel2.Controls
            If TypeOf cCtrl Is TextBox Then
                Dim txtBox As TextBox
                txtBox = cCtrl
                If (txtBox.Name.Substring(9, 6)) = ((DataGridView2.Rows.Item(iloop).Cells(0).Value).substring(0, 6)) Then
                    txtBox.Text = DataGridView2.Rows.Item(iloop).Cells(3).Value
                End If
            End If
        Next
    Next
0
k80sg 7 Апр 2011 в 13:02
В какой строке ошибка?
 – 
hallie
7 Апр 2011 в 13:08
Привет, эта строка: «Если (txtBox.Name.Substring(9, 6)) = ((DataGridView2.Rows.Item(iloop).Cells(0).Value).substring(0, 6)) Then» ( (DataGridView2.Rows.Item(iloop).Cells(0).Value).substring(0, 6)) на самом деле является причиной этого.
 – 
k80sg
7 Апр 2011 в 13:12

1 ответ

Добавьте условие if для If DataGridView2.Rows.Item(iloop).Cells(0).Value IsNot Nothing Then, прежде чем брать подстроку значения.

0
Nimesh Madhavan 7 Апр 2011 в 13:53
Спасибо, но проверка на null не помогла, я только что обнаружил, что если бы я присвоил '((DataGridView2.Rows.Item(iloop).Cells(0).Value).substring(0, 6))' строке переменная, я получу эту ошибку исключения.
 – 
k80sg
7 Апр 2011 в 14:12