none
Filtrar Búsqueda En DataGridView RRS feed

  • Pregunta

  • Hola Buenas tarde, gracias por leer mi pregunta de antemano.

    Tengo una consulta que muestro en un data gridview, realizo una busqueda por medio de un combobox y un boton (busqueda por un campo en especifico), lo que quiero hacer es  realizar la busqueda por medio de mas campos pero no se como adaptar el codigo que tengo.

    Ojala y me puedan ayudar, gracias...

    Les dejo mi codigo: 

    Function Buscar( _
            ByVal Columna As String, _
            ByVal texto As String, _
            ByVal BindingSource As BindingSource) As Integer
            Dim Filtro As String
    
                Filtro = String.Format("{0} LIKE '%{1}%'", "[Parte Estampada]", Me.ComboBox1.SelectedValue)
                Try
                    ' si está vacio salir y no retornar nada  
                    If BindingSource1.DataSource Is Nothing Then
                        Return 0
                    End If
    
                    ' Ejecutar el método Find pasándole los datos  
                    Dim fila As Integer = BindingSource.Find(Columna.Trim, texto)
    
                    ' Mover el cursor a la fila obtenida  
                    BindingSource.Filter = Filtro
    
                    ' retornar el valor  
                    Return fila
    
                    ' errores  
                Catch ex As Exception
                    MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
                End Try
                ' no retornar nada  
                Return 0
        End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ret As Integer = Buscar( _
                                       "Parte Estampada", _
                                       ComboBox1.Text.Trim, _
                                       BindingSource1)
    
            ' si no se encontró ....  
            If ret = 0 Then
                ' mostrar un mensaje  
                MsgBox("No se encontró la fila", MsgBoxStyle.Critical)
            Else
                With DataGridView1
                    ' volver a enlazar  
                    .DataSource = BindingSource1
                    ' Pasarle el índice para Visualizar la fila al comienzo de la grilla  
    
                End With
            End If
            ComboBox1.Text = ""
    
        End Sub


    Cristian Murillo

    miércoles, 21 de marzo de 2018 18:59

Respuestas

  • Hola JuanAurich23,

    Te recomeindo revisar este enlace de uno de los foros de MSDN en donde posibles soluciones a tu consulta, quedo al pendiente de tus comentarios y actualizaciones al respecto.

    https://social.msdn.microsoft.com/Forums/es-ES/724430e2-58a7-46e8-9b2a-96f63b6a1325/buscar-filtrar-en-un-datagridview?forum=vbes

    SALUDOS CORDIALES.
    Gracias por usar los foros de MSDN.

    Tonatiuh Abrego
    _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Pablo Rubio domingo, 25 de marzo de 2018 16:11
    jueves, 22 de marzo de 2018 23:40
    Moderador