none
Se me dublican en el datagriview RRS feed

  • Pregunta

  • Dim msCadenaSQL As String = ("Data Source=conexion") ''Try '' ' Configuramos una conexión con el origen de datos. '' Using loConexion As New SqlConnection(msCadenaSQL) '' Dim lsQuery As String = "Select * FROM DatosMateriales" '' ' crear adaptador '' Dim loDataAdapter As New SqlDataAdapter(lsQuery, loConexion) '' loDataAdapter.Fill(moDataTable) '' TablaMateriales.RowsDefaultCellStyle.BackColor = Color.LightBlue '' TablaMateriales.AlternatingRowsDefaultCellStyle.BackColor = Color.White '' End Using ''Catch ex As Exception '' MessageBox.Show(ex.Message) ''End Try 'Dim msCadenaSQL As New conexion Try ' Configuramos una conexión con el origen de datos. Using loConexion As New SqlConnection(msCadenaSQL) Dim lsQuery As String = "Select * FROM Materiales" '' ' crear adaptador Dim loDataAdapter As New SqlDataAdapter(lsQuery, loConexion) loDataAdapter.Fill(moDataTable) TablaMaterial.RowsDefaultCellStyle.BackColor = Color.LightBlue TablaMaterial.AlternatingRowsDefaultCellStyle.BackColor = Color.White loConexion.Close() End Using Catch ex As Exception MessageBox.Show(ex.Message) End Try

    En este lado hago filtros con un botton

    Dim

    lbHayFiltro AsBoolean= False


           

    DimlsQuery AsString= ""


           

    IfMe.TxtParametro1.Text.Length > 0 Then


                lsQuery &=

    "Descripcion Like '%"& Me.TxtParametro1.Text & "%'"


                lbHayFiltro =

    True


           

    EndIf


           

    IfMe.TxtParametro2.Text.Length > 0 Then


               

    IflbHayFiltro = TrueThen


                    lsQuery &=

    " And "


               

    EndIf


                lsQuery &=

    "Descripcion Like '%"& Me.TxtParametro2.Text & "%'"


                lbHayFiltro =

    True


           

    EndIf


           

    IfMe.TxtParametro3.Text.Length > 0 Then


               

    IflbHayFiltro = TrueThen


                    lsQuery &=

    " And "


               

    EndIf


                lsQuery &=

    " Descripcion Like '%"& Me.TxtParametro3.Text & "%'"


           

    EndIf  

    IfMe.TxtParametro4.Text.Length > 0 Then      

    IflbHayFiltro = TrueThen

                    lsQuery &=

    " And "


               

    EndIf


                lsQuery &=

    " Descripcion Like '%"& Me.TxtParametro4.Text & "%'"


           

    EndIf

    Dim

    rows() AsDataRow = moDataTable.Select(lsQuery)

           

    Dimdt1 AsDataTable = moDataTable.Clone()

           

    ForEachrow AsDataRow Inrows

                dt1.ImportRow(row)   

    Next

    Me.TablaMaterial.DataSource = dt1

    EndSub


           



    • Editado Darwin123456 sábado, 17 de marzo de 2018 2:15
    • Cambiado Enrique M. Montejo martes, 20 de marzo de 2018 16:14 Pregunta relacionada con el acceso a datos.
    sábado, 17 de marzo de 2018 2:09

Todas las respuestas

  • Se me duplican los datos en un form , y no entiendo por que cada vez  que hago click en el boton de filtro

    Dim
    
    
    
    
    
    lbHayFiltro AsBoolean= False
    
    
            
    
    
    
    DimlsQuery AsString= ""
    
    
            
    
    
    
    IfMe.TxtParametro1.Text.Length > 0 Then
    
    
                lsQuery &= 
    
    
    
    "Descripcion Like '%"& Me.TxtParametro1.Text & "%'"
    
    
                lbHayFiltro = 
    
    
    
    True
    
    
            
    
    
    
    EndIf
    
    
            
    
    
    
    IfMe.TxtParametro2.Text.Length > 0 Then
    
    
                
    
    
    
    IflbHayFiltro = TrueThen
    
    
                    lsQuery &= 
    
    
    
    " And "
    
    
                
    
    
    
    EndIf
    
    
                lsQuery &= 
    
    
    
    "Descripcion Like '%"& Me.TxtParametro2.Text & "%'"
    
    
                lbHayFiltro = 
    
    
    
    True
    
    
            
    
    
    
    EndIf
    
    
            
    
    
    
    IfMe.TxtParametro3.Text.Length > 0 Then
    
    
                
    
    
    
    IflbHayFiltro = TrueThen
    
    
                    lsQuery &= 
    
    
    
    " And "
    
    
                
    
    
    
    EndIf
    
    
                lsQuery &= 
    
    
    
    " Descripcion Like '%"& Me.TxtParametro3.Text & "%'"
    
    
            
    
    
    
    EndIf
    
    
            
    
    
    
    IfMe.TxtParametro4.Text.Length > 0 Then
    
    
                
    
    
    
    IflbHayFiltro = TrueThen
    
    
                    lsQuery &= 
    
    
    
    " And "
    
    
                
    
    
    
    EndIf
    
    
                lsQuery &= 
    
    
    
    " Descripcion Like '%"& Me.TxtParametro4.Text & "%'"
    
    
            
    
    
    
    EndIf
    
    Dim
    
    
    
    
    
    rows() AsDataRow = moDataTable.Select(lsQuery)
    
            
    
    
    
    Dimdt1 AsDataTable = moDataTable.Clone()
    
            
    
    
    
    ForEachrow AsDataRow Inrows
    
                dt1.ImportRow(row)
    
     
    
            
    
    
    
    Next
    
    
            
    
    
    
    Me.TablaMaterial.DataSource = dt1
    
        
    
    
    
    EndSub
    
    
    
    

    sábado, 17 de marzo de 2018 2:10