所以我有一个无趣的问题。
我已经做了很多次,我不知道发生了什么。 有一个SQL查询,它使用null搜索数据库中的某些行。
Dim productionTable As New DataTable
Dim findNULLrows As New OleDb.OleDbDataAdapter("SELECT Index, Product," & _
" Qnt, Client FROM ProdcutionRegistry WHERE ProductionDate" & _
" IS NULL", productionDatabase)
productionDatabase.Open()
findNULLrows.Fill(productionTable)
productionDatabase.Close()
PCPE.DataGridView2.DataSource = Nothing
PCPE.DataGridView2.DataSource = productionTable
之后我的datagridview仍然清晰/空......
如果我尝试像这样显示消息框中的每个项目:
for i = 0 to productionTable.rows.count-1
msgbox(productionTable.row(i).item(0))
next i
我可以看到所有选中的索引,所以我的SQL查询是对的。 我真的不知道我做错了什么,我只是无法在datagridview上显示itens。 感谢
答案 0 :(得分:1)
我的猜测是:
我认为可能首先将DataSource设置为null会导致问题,但以下情况有效,所以我不认为这是问题所在:
Dim dt As New DataTable()
Dim dc1 As New DataColumn("ID")
Dim dc2 As New DataColumn("Name")
Dim dc3 As New DataColumn("Type")
Dim dc4 As New DataColumn("Description")
dt.Columns.Add(dc1)
dt.Columns.Add(dc2)
dt.Columns.Add(dc3)
dt.Columns.Add(dc4)
For x As Integer = 0 To 9
Dim newRow As DataRow = dt.NewRow()
newRow("ID") = 1000 + x
newRow("Name") = "Item 00" & x.ToString()
newRow("Type") = "Test Items"
newRow("Description") = "Random Test Item 00" & x.ToString()
dt.Rows.Add(newRow)
Next
Grid.DataSource = dt
Grid.DataSource = Nothing
Grid.DataSource = dt