Rellenar un dataset con una consulta SQL y volcarlo a un DataGridView. Se incluye una caja de texto para filtrar información (VB.NET)
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.
Autor del artículo
Dámaso Velázquez
Compartir