Rellenar un dataset con una consulta SQL y volcarlo a un DataGridView (versión 2)

Vamos a rellenar un dataset con una consulta de la siguiente manera:

Nota: La variable dgv es nuestro control DataGridView.

Dim sql As String
Dim cn as MySqlConnection
Dim cm As MySqlCommand
Dim da As MySqlDataAdapter
Dim ds as DataSet

sql = "SELECT * FROM alumnos WHERE cursoAcademico=?curso"
cn = New MySqlConnection("Data Source=servidor;Database=base_de_datos;User ID=usuario; Password=clave; Allow Zero Datetime=True; CHARSET=latin1")
cn.open()

cm = New MySqlCommand()
cm.CommandText = sql
cm.CommandType = CommandType.Text
cm.Connection = cn
cm.Parameters.Add("?curso", MySqlDbType.Int32)
cm.Parameters("?curso").Value = 2006
da = New MySqlDataAdapter(cm)

ds= New DataSet()
da.Fill(ds)
'la variable Dim vista as DataView es global a toda la clase
vista=ds.Tables(0).DefaultView
dgv.datasource=vista

Entonces ya tenemos los datos correspondientes a la consulta en el objeto ds, que es un objeto de la clase DataSet y mostrados sobre el control dgv que es el control DataGridView.

Ahora tenemos que implementar el evento TextChanged de la caja de texto con el siguiente contenido:
Suponemos que vamos a filtrar por el campo primer_apellido del alumno y que la caja que usaremos de filtro se llama txtFiltro.

vista.RowFilter= "primer_apellido LIKE '%" & txtFiltro.text & "%'"

De esta manera el datagridview se irá refrescando automáticamente con los valores que coincidan con el filtro tecleado (cualquiera que contenga el patrón).

Nota: Suponemos que la variable Dim vista as DataView es global a toda la clase, es decir, que está declarada al principio de la clase.

Más información

Quizá te interese...