#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