Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julierme Felix

[Resolvido] RowFilter

Recommended Posts

Pessoal tenho uma pagina com com dropdownlist para filtrar um datragid mas não estou conseguindo executar um rowfilter aparece a mensagem abaixo:

Referência de objeto não definida para uma instância de um objeto

linha do erro

Linha 119: ds1.Tables("qryemail").DefaultView.RowFilter = "Unidade like '%" & cbo.SelectedValue & "%'"

 

Segue o código da combo

If cbopesquisa.SelectedIndex = 0 Then
            Dim dv As New DataView(ds1.Tables("qryemail"))
            dv.RowFilter = "Nome like '%" & TextBox1.Text & "%'"
        ElseIf cbopesquisa.SelectedIndex = 1 Then
            ds1.Tables("qryemail").DefaultView.RowFilter = "Unidade like '%" & cbo.SelectedValue & "%'"
        ElseIf cbopesquisa.SelectedIndex = 2 Then
            ds1.Tables("qryemail").DefaultView.RowFilter = "Funcao like '%" & cbo.SelectedValue & "%'"
        ElseIf cbopesquisa.SelectedIndex = 3 Then
            TextBox1.Enabled = False
            carregardados()
            'ds1.Tables("qryfunc").DefaultView.RowFilter = "departamento like '%" & TextBox1.Text & "%'"
        End If

Quando a pagina é iniciada o datagrid é mostrado com todos os dados uso o dropdownlist para filtrar os dados.

 

Obs.: Estou usando VS2300 com banco em access

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que descobrir o que esta nulo. O SelectedValue tem valor?

 

Abraços...

 

Resolvi incrementando o codigo anterior, não sei se precisava disso tudo, mas esta funcionando

If cbopesquisa.SelectedIndex = 0 Then
            cbo.Visible = False
            TextBox1.Visible = True
            Cn.Open()
            Dim dat1 As OleDbDataAdapter
            Dim myCommLin As OleDbCommand = Cn.CreateCommand()
            Dim myCB As String = "SELECT * From qryemail"
            myCommLin.CommandText = myCB
            dat1 = New OleDbDataAdapter(myCommLin)
            ds1 = New DataSet
            DAT.SelectCommand = myCommLin
            DAT.Fill(ds1, "qryemail")
            dt = ds1.Tables(0)
            ds1.Tables("qryemail").DefaultView.RowFilter = "Nome like '%" & TextBox1.Text & "%'"
            DataGrid1.DataSource = dt
            DataBind()
            Cn.Close()
        ElseIf cbopesquisa.SelectedIndex = 1 Then
            cbo.Visible = True
            TextBox1.Visible = False
            Cn.Open()
            Dim dat1 As OleDbDataAdapter
            Dim myCommLin As OleDbCommand = Cn.CreateCommand()
            Dim myCB As String = "SELECT * From qryemail"
            myCommLin.CommandText = myCB
            dat1 = New OleDbDataAdapter(myCommLin)
            ds1 = New DataSet
            DAT.SelectCommand = myCommLin
            DAT.Fill(ds1, "qryemail")
            dt = ds1.Tables(0)
            ds1.Tables("qryemail").DefaultView.RowFilter = "Unidade like '%" & cbo.SelectedValue & "%'"
            DataGrid1.DataSource = dt
            DataBind()
            Cn.Close()
        ElseIf cbopesquisa.SelectedIndex = 2 Then
            cbo.Visible = True
            TextBox1.Visible = False
            Cn.Open()
            Dim dat1 As OleDbDataAdapter
            Dim myCommLin As OleDbCommand = Cn.CreateCommand()
            Dim myCB As String = "SELECT * From qryemail"
            myCommLin.CommandText = myCB
            dat1 = New OleDbDataAdapter(myCommLin)
            ds1 = New DataSet
            DAT.SelectCommand = myCommLin
            DAT.Fill(ds1, "qryemail")
            dt = ds1.Tables(0)
            ds1.Tables("qryemail").DefaultView.RowFilter = "Funcao like '%" & cbo.SelectedValue & "%'"
            DataGrid1.DataSource = dt
            DataBind()
            Cn.Close()
        ElseIf cbopesquisa.SelectedIndex = 3 Then
            TextBox1.Visible = False
            cbo.Visible = False
            email()
            'ds1.Tables("qryfunc").DefaultView.RowFilter = "departamento like '%" & TextBox1.Text & "%'"
        End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.