none
Filtrar Gridview con selección múltiple de varios ListBox. VB.NET ASP.Net RRS feed

  • Pregunta

  • Hola a todos!

    Estoy trabajando con una tabla en sql server, que se refleje en un gridview y poder filtrarla con varios listbox y que estos a su vez tengan selección multiple. Por ejemplo la tabla contiene los campos ID, Nombre, Direccion, Estatus y que los haya dos listbox uno de Nombre y otro de Estatus, poder elegir varios nombres o estatus y que me los refleje en el gridview. Muchas gracias.

    Saludos.

    Tengo este codigo:

        Private Sub cargarinfo()
            Dim conn As String = "integrated security=SSPI;data source=192.168.56.1;persist security info=False;initial catalog=BaseDatos"
            Dim query As String = "Select * from Proveedores"

            Dim condition1 As String = String.Empty
            For Each item1 As ListItem In LBNombre.Items
                condition1 += If(item1.Selected, String.Format("'{0}',", item1.Value), "")
            Next
            If Not String.IsNullOrEmpty(condition1) Then
                condition1 = String.Format(" WHERE Nombre IN ({0})", condition1.Substring(0, condition1.Length - 1))
            End If

            Dim condition2 As String = String.Empty
            For Each item2 As ListItem In LBEstatus.Items
                condition2 += If(item2.Selected, String.Format("'{0}',", item2.Value), "")
            Next
            If Not String.IsNullOrEmpty(condition2) Then
                condition2 = String.Format(" WHERE Estatus IN ({0})", condition2.Substring(0, condition2.Length - 1))
            End If

            Using con As New SqlConnection(conn)
                Using cmd As New SqlCommand(query & (condition1 & condition2))
                    Using sda As New SqlDataAdapter(cmd)
                        cmd.Connection = con
                        Using dt As New DataTable()
                            sda.Fill(dt)
                            proveedores.DataSource = dt
                            proveedores.DataBind()
                        End Using
                    End Using
                End Using
            End Using
        End Sub


        Protected Sub OnPageIndexChanging(sender As Object, e As GridViewPageEventArgs)
            proveedores.PageIndex = e.NewPageIndex
            Me.cargarinfo()
        End Sub
        Protected Sub Nombre_Selected(sender As Object, e As EventArgs)
            Me.cargarinfo()
        End Sub

    pero cuando quiero buscar por medio de los dos listbox, que este seleccionado un registro o varios registros de cada uno, no me sirve, solo cuando busco uno, por ejemplo solo he seleccionado LBNombres y si me sirve.

    Si selecciono algo de los dos no me sirve. Gracias por su atención.

    viernes, 1 de abril de 2016 17:09