sábado, 20 de noviembre de 2010

Filtrar Textbox con DataGridView Vb.net

Aveces al programar nos encontramos con el inconveniente de filtrar los espacios de la base de datos que necesitamos, por lo cual les voy a enseñar como filtrar los espacios partiendo de los siguientes elementos

TextBox1  --> El cual va a contener el dato a filtrar por medio del metodo TextBox1 Changed
DataGridView --- > Vamos a tener la tabla de la base de datos que necesitamos

El punto del programa es que cada vez que ingresemos una letra en el TextBox nos aparezcan la fiiltracion
en el DataGridView, observen la imagen 1

Imagen 1

El codigo seria de la siguiente forma:

Codigo para Visual Basic .Net

Imports System.Data.SqlClient
'Se importa la libreria ya que estoy trabajando con base de datos SQL SERVER 2005

Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As

'Metodo Cuando Cambia lo que vamos ingresando en el TextBoxDim conexion as Sqlconnection

conexion.connectionString = "Donde tengo la conexion"

Dim oadapter as DataAdapter
'Se instancia un adaptador

Dim odataset as DataSet
'Se crea un dataset

Dim oadapter as New SqlDataAdapter(SELECT * FROM  tbl_seleccionamos WHERE atributo LIKE '" & textbox1.Text & "'%", conexion)
'En SQL el comando LIKE signfica que nos dara los valores que empiezen con la letra que ingresemos

conexion.Open()

odapter.Fill(odataset, "atributo" )

conexion.Close()

DataGridView1.DataSource = odataset
DataGridView1.DataMember = "atributo"

End Sub

Este es el objetivo de filtrar

Saludos cualquier consulta con gusto...

8 comentarios:

  1. ¿Y si en lugar de SQL, sea MySQL... Como hago el proceso?, pues trato de aplicarlo y no me funciona

    ResponderEliminar
  2. Respuestas
    1. Amigo en la consulta SQL tienes que anidarlo una sentencia de este tipo seria.
      SELECT *
      FROM tbl_seleccionamos
      WHERE atributo LIKE CampoAFiltrar% AND atributo2 LIKE CampoAFiltrar2%.

      Por ejemplo si quiero filtrar de acuerdo a la tabla que menciono arriba seria:
      SELECT *
      FROM TblRubro
      WHERE Descripcion LIKE TextBox.Text% AND Plazo LIKE TextBox.Text%

      Este selecciona todos los campos de la tabla TblRubro donde la descripción coincida con el filtro y Plazo coincida con el filtro.

      Puntos importantes:
      - Recuerda anotar el signo de porcentaje para filtrar.
      - La palabra reservada AND significa Y, o sea que cumpla el filtro de la descripcion y que cumpla con el filtro del plazo.

      Saludos

      Eliminar
  3. Hola muy buenos dias de ante mano muchas gracias y felicitaciones por tus aportes.
    Quisiera ver si me puedes ayudar en como buscar en un datagridview (ojo buscar no filtrar)
    es decir conforme voy escribiendo en el texbox y ubicando y seleecionando fila en donde este el dato

    ResponderEliminar
    Respuestas
    1. Ahorita realizo un blog con tu consulta y te posteo el link, gracias por tu consulta

      Eliminar
  4. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  5. Disculpa, como haria para poder filtrar pero no por filas.. si no columnas desde access a vb.net.... XD

    ResponderEliminar
  6. saludos, como podria hacer la misma consulta pero en vb6

    ResponderEliminar