CODICE ASPX
<asp:SqlDataSource ID="sorgente" ConnectionString="<%$ ConnectionStrings: northwind %>" SelectCommand="SELECT * FROM Customers" runat="server">
</asp:SqlDataSource>
CODE BEHIND
protected void Page_Load(object sender, EventArgs e)
{
//faccio questa operazione solo se l’utente ha fatto il postback in seguito alla compilazione dei campi di ricerca
if (Page.IsPostBack)
{
//rimuovo dall’ SqlDataSource eventuali SelectParameters definiti in precedenza.
sorgente.SelectParameters.Clear();
//controllo se uno dei campi di ricerca, quello che contiene la ragione sociale, è stato compilato dall’utente
if (!string.IsNullOrEmpty(RagioneSociale.Text))
{
//se è stato compilato, aggiungo un SelectParameter al volo
sorgente.SelectParameters.Add("CompanyName", RagioneSociale.Text);
//e aggiungo anche una clausola where al SelectCommand
sorgente.SelectCommand += " WHERE CompanyName LIKE ‘%’ + @CompanyName + ‘%’";
}
//rifaccio il binding, in modo che il SqlDataSource vada ad eseguire il SelectCommand aggiornato.
gridview.DataBind();
}
}