none
Como preencher um datagrid com dados filtrados? RRS feed

  • Pergunta

  • Estou usando o seguinte código para gerar o filtro:

    Private Sub Filtrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Filtrar.Click
            Dim ColunaFiltro As String
    
            If FiltrarNome.Checked = True Then
                ColunaFiltro = "Nome"
            End If
    
            If FiltrarUnidade.Checked = True Then
                ColunaFiltro = "Unidade"
            End If
    
            If FiltrarCargo.Checked = True Then
                ColunaFiltro = "Cargo"
            End If
    
            If FiltrarFunção.Checked = True Then
                ColunaFiltro = "Função"
            End If
    
            If CampoFiltro.Text <> "" Then
                PreencherDataGrid("SELECT * FROM TB_Servidores WHERE " & ColunaFiltro & " LIKE '*" & CampoFiltro.Text & "*'")
            Else
                PreencherDataGrid("SELECT * FROM TB_Servidores")
            End If
    End Sub
    Sub PreencherDataGrid(ByVal ComandoSQL As String)

            cm = New OleDb.OleDbCommand(ComandoSQL, cn)
            Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(cm)

            Dim dt As DataTable = New DataTable

            da.Fill(dt)
            DataGridView.DataSource = dt
    End Sub

    Porém, quando digito o filtro em CampoFiltro.Text e clico no botão Filtrar, ele simplesmente limpa as linhas do datagrid e não preenche com o filtro.

    sexta-feira, 17 de junho de 2016 13:12

Respostas

Todas as Respostas