17 messaggi dal 15 marzo 2007
Salve a tutti,
avrei questo problema:
Ho un una GridView dove presenta un elenco di record per una tabella di anagrafica clienti quindi nome, cognome, ecc...
ho bisogno di fare tre filtri per la ricerca con tre TexBox: nome, cognome e codice fiscale.
Ho fatto una FilterExpression con la seguente sintassi:

nome LIKE '%{0}%' OR cognome LIKE '%{0}%' OR CF LIKE '%{0}%'

e i relativi ControlParameter per nome, cognome e cf.

Ma da non riesco a filtrare separatamente i tre parametri di ricerca.
In pratica se voglio cercare un "luca" nella tabella, devo per forza riempire il campo nome, cognome e cf mentre io vorrei poter mettere anche solo il cf per filtrare la ricerca...
Potete aiutarmi?

grazie...
710 messaggi dal 13 novembre 2008
Contributi
1.

nome LIKE '%{0}%' OR cognome LIKE '%{1}%' OR CF LIKE '%{2}%'


2.

mi sembra inoltre che LIKE non accetti valori null

quindi prova anche a mettere ConvertEmptyStringToNull di <asp:ControlParameter> su false
17 messaggi dal 15 marzo 2007
Grazie innanzitutto per aver risposto ...
se metto pari pari le cose che mi hai postato, non funziona cmq.
cioè devo sempre inserire tutti e tre i campi per fare una ricerca.
invece aggiungendo

ConvertEmptyStringToNull = "FALSE" ai ControlParameter

e lasciando

nome LIKE '%{0}%' OR cognome LIKE '%{0}%' OR CF LIKE '%{0}%'

funziona solo il filtro per il campo nome.

ti posto un pò di cose può darsi che sbaglio altrove...

Nome <asp:TextBox ID="TXT_cerca" runat="server" Width="200px"></asp:TextBox>
Cognome <asp:TextBox ID="TXT_cognome" runat="server" Width="200px"></asp:TextBox>
Cod: Fiscale <asp:TextBox ID="TXT_codfisc" runat="server" Width="200px"></asp:TextBox>

<asp:SqlDataSource ID="SQLanagrafica" runat="server"
ConnectionString="<%$ConnectionStrings:connessione %>"
SelectCommand="SELECT * FROM tab_utenti"
FilterExpression="nome LIKE '%{0}%' OR cognome LIKE '%{0}%' OR CF LIKE '%{0}%'">

<FilterParameters>
<asp:ControlParameter ControlID="TXT_cerca" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
<asp:ControlParameter ControlID="TXT_cognome" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
<asp:ControlParameter ControlID="TXT_codfisc" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
</FilterParameters>

</asp:SqlDataSource>

Ovviamente ho una GridView che mi mostra i risultati ...
Modificato da lukaone il 25 febbraio 2011 15.01 -
17 messaggi dal 15 marzo 2007
Grazie innanzitutto per aver risposto ...
se metto pari pari le cose che mi hai postato, non funziona cmq.
cioè devo sempre inserire tutti e tre i campi per fare una ricerca.
invece aggiungendo

ConvertEmptyStringToNull = "FALSE" ai ControlParameter

e lasciando

nome LIKE '%{0}%' OR cognome LIKE '%{0}%' OR CF LIKE '%{0}%'

funziona solo il filtro per il campo nome.

ti posto un pò di cose può darsi che sbaglio altrove...

Nome <asp:TextBox ID="TXT_cerca" runat="server" Width="200px"></asp:TextBox>
Cognome <asp:TextBox ID="TXT_cognome" runat="server" Width="200px"></asp:TextBox>
Cod: Fiscale <asp:TextBox ID="TXT_codfisc" runat="server" Width="200px"></asp:TextBox>

<asp:SqlDataSource ID="SQLanagrafica" runat="server"
ConnectionString="<%$ConnectionStrings:connessione %>"
SelectCommand="SELECT * FROM tab_utenti"
FilterExpression="nome LIKE '%{0}%' OR cognome LIKE '%{0}%' OR CF LIKE '%{0}%'">

<FilterParameters>
<asp:ControlParameter ControlID="TXT_cerca" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
<asp:ControlParameter ControlID="TXT_cognome" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
<asp:ControlParameter ControlID="TXT_codfisc" Type="String" PropertyName="Text" ConvertEmptyStringToNull="false" />
</FilterParameters>

</asp:SqlDataSource>
710 messaggi dal 13 novembre 2008
Contributi
prova con

<FilterParameters>
<asp:ControlParameter Name="nome" ControlId="..." PropertyName="..." ......./>

....

</FilterParameters>


Name="nome"

Name="cognome"

Name="CF"

qui hai due esempi:

http://msdn.microsoft.com/en-us/library/ms227680(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.filterexpression.aspx
Modificato da teo prome il 25 febbraio 2011 14.21 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.