DataGridView不显示数据

时间:2014-07-03 16:30:48

标签: vb.net visual-studio-2010 datagridview

所以我有一个无趣的问题。

我已经做了很多次,我不知道发生了什么。 有一个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。 感谢

1 个答案:

答案 0 :(得分:1)

我的猜测是:

  • 所有列都隐藏在某处。我会检查DataGridView2.Columns.Count并从那里进行调试。
  • 您有多个网格,而您设置的网格不是您期望的网格。
  • 数据有点不正确。

我认为可能首先将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