DataGridView не показывает данные

#vb.net #visual-studio-2010 #datagridview

#vb.net #visual-studio-2010 #datagridview

Вопрос:

Итак, у меня возникла небольшая проблема.

Я делал это много раз, и я не знаю, что происходит. Есть SQL-запрос, который ищет определенные строки в базе данных с null.

  Dim productionTable As New DataTable

 Dim findNULLrows As New OleDb.OleDbDataAdapter("SELECT Index, Product," amp; _ 
                        " Qnt, Client FROM ProdcutionRegistry WHERE ProductionDate" amp; _ 
                        " 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 is-запрос правильный.
Я действительно не знаю, что я делаю не так, я просто не могу показать значения в datagridview.
Спасибо

Ответ №1:

Мои предположения:

  • Все столбцы где-то скрыты. Я бы проверил наличие DataGridView2.Columns.Считайте и отлаживайте оттуда.
  • У вас есть несколько сеток, и та, которую вы настраиваете, не та, которую вы ожидаете.
  • Данные каким-то образом неверны.

Я подумал, что, возможно, проблема в том, что сначала для источника данных было установлено значение 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" amp; x.ToString()
    newRow("Type") = "Test Items"
    newRow("Description") = "Random Test Item 00" amp; x.ToString()

    dt.Rows.Add(newRow)
Next

Grid.DataSource = dt
Grid.DataSource = Nothing
Grid.DataSource = dt