我在 DGV 上的绑定源有问题。消息是“DataMember Property 'nodes' cannot be found on the dataSource” 将表设置为数据源后,列数为 14。错误发生在线nodesDataGridView.DataSource = bsNodes。如果我在错误之前中断然后将鼠标悬停在 ds 上,它确实表明表节点在数据源中。我已经使用与此类似的代码来设置其他 DGV,但我看不出这有任何区别。
如果我删除这些语句,我不会得到错误,但它当然没有被过滤):
nodesDataGridView.DataSource = bsNodes
bsNodes.Filter = "company_number = " & Globals.customer_id
我可能应该提到我在网格完成并工作后添加了 company_number。它是为单个公司代码设置的,但现在我必须添加支持数据库中多个公司的要求。
有任何想法吗?
谢谢,
维克
' Setup objects for loading the summary grid
Dim sqlNodes As String = "Select *From nodes order by display_sequence"
Dim comm As MySqlCommand = New MySqlCommand(sqlNodes, m_cn1)
Dim daNodes As MySqlDataAdapter = New MySqlDataAdapter(comm)
Dim dsNodes As DataSet = New DataSet()
dim bsNodes As New BindingSource
Try
AddHandler ButtonSaveChanges.Click, AddressOf ButtonSaveChanges_Click
dsNodes.Clear()
daNodes.Fill(dsNodes, "nodes")
m_cn1.Close()
nodesDataGridView.DataSource = dsNodes
nodesDataGridView.DataMember = "nodes"
bsNodes.DataSource = dsNodes.Tables("nodes")
Debug.Print("nodes column count is " & nodesDataGridView.ColumnCount)
nodesDataGridView.DataSource = bsNodes
bsNodes.Filter = "company_number = " & Globals.customer_id
Catch ex As Exception
MessageBox.Show("Failed to load summary grid" & vbCrLf & vbCrLf & ex.ToString)
End Try