none
Filtro segun textbox en datagridview RRS feed

  • Pregunta

  • Tengo lo siguiente:

     Private Sub CModems_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Try
                Dim fcn As New funciones
                result = fcn.cargar_info_modem
                DataGridView1.DataSource = result
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub

    y en la funcion de eso es asi:

    Public Function cargar_info_modem() As DataTable
            Try
                conectado()
                Dim cmd As New SqlCommand
                cmd.Connection = cnn
                cmd.CommandText = "select *from Modem order by id asc"
                If cmd.ExecuteNonQuery Then
                    Dim da As New SqlDataAdapter(cmd), dt As New DataTable
                    da.Fill(dt)
                    Return dt
                Else
                    Return Nothing
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
                Return Nothing
            Finally
                desconectado()
            End Try
        End Function

    Ahora lo que quiero es filtrar segun el textbox, puse eso no pasa nada

     Private Sub busca_TextChanged(sender As Object, e As EventArgs) Handles busca.TextChanged
            dv.RowFilter = String.Format("Destino like '%{0}%'", busca.Text)
        End Sub

    El dv esta declarado como: Private dv As New DataView

    Espero me puedan dar alguna ayuda por favor. He visto otro tipo de fltros sin usar funciones, mi caso es con funciones y sql.

    Tanto agregar editar eliminar. todo trabaja con funciones.

    Gracias desde ya.


    Rocco

    • Cambiado Enrique M. Montejo miércoles, 17 de diciembre de 2014 16:53 Pregunta relacionada con objetos de ADO .NET.
    lunes, 15 de diciembre de 2014 16:42

Todas las respuestas

  • hola

    porque no usas

    Public Function cargar_info_modem(string destino) As DataTable
    	Try
    		conectado()
    		
    		Dim query As String = "select * from Modem WHERE Destino LIKE '%' + @destino + '%'order by id asc"
    		Dim cmd As New SqlCommand(query, cnn)
    		cmd.Parameters.AddwithValue("@destino", destino)
    		
    		Dim da As New SqlDataAdapter(cmd)
    		Dim dt As New DataTable
    		da.Fill(dt)
    		
    		If dt.Rows.Count = 0 Then
    			Return Nothing
    		End If
    		
    		Return dt
    
    	Catch ex As Exception
    		MsgBox(ex.Message)
    		Return Nothing
    	Finally
    		desconectado()
    	End Try
    End Function

    como veras filtras directo en la query, usando parametros

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Rocco-PE lunes, 15 de diciembre de 2014 17:33
    • Desmarcado como respuesta Rocco-PE martes, 16 de diciembre de 2014 15:23
    lunes, 15 de diciembre de 2014 16:56
  • me sale un error en el load.

    result = fcn.cargar_info_modem

    "no se a especificado ningun argumento para el parametro destino de publick function .....


    Rocco

    lunes, 15 de diciembre de 2014 19:20