http://pabletoreto.blogspot.com/2012/01/datagridview-en-vbnet.html
Pero resulta que hay personas que no les gusta trabajar con módulos, prefieren hacerlo con clases, bueno, pues lo que hay que hacer es añadir una nueva clase a nuestro proyecto, para eso, damos click derecho a la solución, seleccionamos add y luego class, así:
En mi caso le deje el nombre por defecto Class1 y luego aquí poner este código:
Imports System.Data.SqlClient
Public Class Class1
Dim cnn As New SqlConnection(My.Settings.conexion)
Dim sql As String = "select * from img"
Dim sqlda As SqlDataAdapter
Dim sqldt As DataTable
Public Function llenarDatos() As DataTable
Try
cnn.Open()
sqlda = New SqlDataAdapter(sql, cnn)
sqldt = New DataTable
sqlda.Fill(sqldt)
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, _
"error", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Finally
If cnn.State = ConnectionState.Open Then
cnn.Close()
End If
End Try
Return sqldt
End Function
End Class
el form no debe cambiar nada y deberia lucir así:
y en el evento load de este formulario colocamos este codigo:
Public Class Form1
Dim bs As New BindingSource
Dim k As New Class1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
bs.DataSource = k.llenarDatos
BindingNavigator1.BindingSource = bs
DataGridView1.DataSource = bs
TextBox1.DataBindings.Add("text", bs, "nombre")
TextBox2.DataBindings.Add("text", bs, "comentarios")
TextBox3.DataBindings.Add("text", bs, "ruta")
End Sub
End Class
luego compilamos, ejecutamos y ya