Пожалуйста, смотрите код ниже:System.NullReferenceException привязка к DataGridView
Private Sub DataGridViewBorrowedBooks_SelectionChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DataGridViewBorrowedBooks.SelectionChanged
'DataGridViewBookDetails.DataSource = Nothing
If DataGridViewBorrowedBooks.SelectedRows.Count = 0 Then
Return
End If
Dim row = DataGridViewBorrowedBooks.SelectedRows(0)
If row Is Nothing Then
Return
End If
Dim isbn As Decimal = Integer.Parse(row.Cells("isbn").Value.ToString())
' Get member record from treeview control.
Dim member = TryCast(TreeViewMembers.SelectedNode.Tag, MemberModel)
' Check for root node. It does not have a member record
If member Is Nothing Then
Return
End If
' Locate order record
For Each loan In member.Loan
If loan.ISBN = isbn Then
DataGridViewBookDetails.DataSource = loan.Books
DataGridViewBookDetails.Columns("ISBN").Visible = False
DataGridViewBookDetails.Columns("Title").DefaultCellStyle.Format = "C"
DataGridViewBookDetails.Columns("Author").DefaultCellStyle.Format = "C"
DataGridViewBookDetails.Columns("Price").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
Return
End If
Next loan
End Sub
Исключение я получаю: System.NullReferenceException на следующей строке: 'DataGridViewBookDetails.Columns("ISBN").Visible = False
У вас есть столбец «ISBN» в вашей сетке (написанный в верхнем регистре)? Если вы прокомментируете эту строку, другие работают? – Markus
По-видимому, нет колонки с ключом «ISBN». –
@Steven Doggart, спасибо. member.loan содержит поле ISBN. Я не думаю, что вам нужно явно указывать имена столбцов. – w0051977