Ir para conteúdo

POWERED BY:

Arquivado

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

Lívia Rodrigues

[Resolvido] Filtro de pesquisa no GridView

Recommended Posts

Galera, eu tenho um gridview que traz os campos: nome, sobrenome, email, estado, cidade e area_de_atuacao de uma tabela MySQL. Eu preciso criar um filtro de pesquisa, onde o usuario digite os valores que deseja em um formulario e ao clicar em ok, os dados mostrados no grid sejam somente aqueles que estao de acordo com sua pesquisa.

 

Eu tentei salvar os valores dos textBox em variaveis e colocar um where no SelectCommand do gridview, mas quando os campos estão vazios ele da erro.

 

Eu pensei tambem em criar uma variavel por exemplo:

 

Dim condicao as String =" and nome ='"+ txt_nome.text +"'"

 

E no codigo do SelectCommand concaterar assim:

SelectCommand="SELECT firstname, lastname, email, state, city, subcate, type, created_date FROM users where type <> 1".@condicao

 

Mas nao sei se posso fazer isso em asp.net :(

Alguém sabe uma forma de fazer isso?

 

Como usar o FilterExpression? Vai servir no meu caso?

Obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 possibilidade é você estar usando "AND".. ai só da certo se todas as condições forem verdadeiras;

tente com ou ("or").. mas pode ficar mt "genérica"..

fica mais facil c você postar a consulta e os parametros, ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fernando, Obrigada pela ajuda. Mas eu consegui resolver de um outro jeito, ficou assim:

 

<span class="style1"><strong>Filtrar</strong></span>
<asp:DropDownList ID="ddlCampo" runat="server" Height="23px" Width="130px">
<asp:ListItem Value="nome">Nome</asp:ListItem>
<asp:ListItem Value="sobrenome">Sobrenome</asp:ListItem>
<asp:ListItem Value="email">Email</asp:ListItem>
</asp:DropDownList>
  como   <asp:TextBox ID="txtCriterio" runat="server" Width="194px"></asp:TextBox>
 <asp:Button ID="btnFiltrar" runat="server" Text="Filtrar" Width="61px" /> 

 

agora o CodeBehind:

 Protected Sub btnFiltrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFiltrar.Click

       Dim FilterExpression As String = String.Concat(ddlCampo.SelectedValue, " LIKE '%{0}%'")
       SqlDataSource1.FilterParameters.Clear()
       SqlDataSource1.FilterParameters.Add(New ControlParameter(ddlCampo.SelectedValue, "txtCriterio", "Text"))
       SqlDataSource1.FilterExpression = FilterExpression

   End Sub

 

 

Encontrei os exemplos em um tutorial espero que sirva pra alguém. Obrigada :*

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Fernando, Obrigada pela ajuda. Mas eu consegui resolver de um outro jeito, ficou assim:

 

<span class="style1"><strong>Filtrar</strong></span>
<asp:DropDownList ID="ddlCampo" runat="server" Height="23px" Width="130px">
<asp:ListItem Value="nome">Nome</asp:ListItem>
<asp:ListItem Value="sobrenome">Sobrenome</asp:ListItem>
<asp:ListItem Value="email">Email</asp:ListItem>
</asp:DropDownList>
  como   <asp:TextBox ID="txtCriterio" runat="server" Width="194px"></asp:TextBox>
 <asp:Button ID="btnFiltrar" runat="server" Text="Filtrar" Width="61px" />

agora o CodeBehind:

Protected Sub btnFiltrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFiltrar.Click

        Dim FilterExpression As String = String.Concat(ddlCampo.SelectedValue, " LIKE '%{0}%'")
        SqlDataSource1.FilterParameters.Clear()
        SqlDataSource1.FilterParameters.Add(New ControlParameter(ddlCampo.SelectedValue, "txtCriterio", "Text"))
        SqlDataSource1.FilterExpression = FilterExpression

    End Sub

 

Encontrei os exemplos em um tutorial espero que sirva pra alguém. Obrigada :*

 

 

Valeu Lívia!

Resolveu meu problema aqui!! :pinch:

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.