2015-01-12 4 views
-2

Я занимаюсь вычислением уровня A (я ужасен в программировании, поэтому поэтому здесь), и я последовал за учебником, чтобы получить datagridview для загрузки таблицы в базе данных, которую я имею связанных с проектом, и ничего не появляется в отладочной, все еще серой таблице.Datagridview vb не работает

Вот мой код:

Imports System.Data.OleDb 

Public Class Cards 
Dim con As New OleDbConnection 

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick 
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= |DataDirectory|\Cards.accdb" 
    con.Open() 
    datagridShow() 
End Sub 
Private Sub datagridShow() 
    Dim ds As New DataSet 
    Dim dt As New DataTable 
    ds.Tables.Add(dt) 
    Dim da As New OleDbDataAdapter 
    da = New OleDbDataAdapter("SELECT * FROM cards", con) 
    da.Fill(dt) 
    DataGridView1.DataSource = dt.DefaultView 
    con.Close() 
End Sub 
End Class 
+1

«Я делаю уровень А в вычислениях (я ужасен при программировании» - возможно, перейти к географии –

+1

Это странное, что вы пытаетесь сделать: При нажатии на текст ячейки сетки есть! предположительно, чтобы изменить источник данных этой сетки. – LarsTech

+0

Вы пробовали точку останова? Ваш код может не выполняться. –

ответ

-2

«Если нет никаких данных в сетке Там нет никаких клеток к нажмите, чтобы ваш код не вызовет DataGridView1.CellContentClick Таким образом, вы никогда не ударит ваш метод DataGridView1_CellContentClick

«Я просто запустил ваш код, и все получилось. Я поставил строку подключения, чтобы проверить строку подключения.

«Я не уверен, почему вы загружаете сетку на контакт контакта с ячейкой.

«Попробуйте это и вызовите loadData на pageload или событие нажатия кнопки, это должно работать на вас.

Private Sub loadData() 
    con.ConnectionString = "Your Connection String" 
    con.Open() 

    datagridShow() 
End Sub 

Private Sub datagridShow() 
    Dim ds As New DataSet 
    Dim dt As New DataTable 
    ds.Tables.Add(dt) 
    Dim da As New OleDbDataAdapter 

    da = New OleDbDataAdapter("SELECT * FROM cards", con) 
    da.Fill(dt) 

    DataGridView1.DataSource = dt.DefaultView 

    con.Close() 

End Sub 
+1

Если это DataGridView, а не DataGrid, тогда нет метода DataBind – OneFineDay

+0

Да, вы правы. Я удалил, что думал о gridview. Извините, что я исправил свой ответ. – wolfeh

+1

Пожалуйста, передумайте, как вы предоставляете ответы на Stack Overflow; два ваших представленных сегодня ответа некачественны. – cybermonkey

Смежные вопросы