ciao,
non ho capito bene il tuo problema, nel senso che non ho capito la differenza tra l'avere 1solo campo e averne n come possibili filtri utente.
Io penso ad una pagina con sopra una serie di textBox, le quali con un pulsante "Search" diano i valori per comporre il filtro della tua query che poi dai come DataSource alla tua DataGridView, ad esempio:
SqlConnection connection = new SqlConnection("...");
SqlCommand cmd = new SqlCommand();
cmd.Connection = connection;
cmd.CommandText =
"SELECT ... FROM tabella WHERE " +
"nome=@nome AND cognome=@cognome AND ...";
cmd.Parameters.Add("@nome", nomeTextBox.Text);
cmd.Parameters.Add("@cognome", cognomeTextBox.Text);
DataTable tabella = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tabella);
DataGridView1.DataSource = tabella;
DataGridView1.DataBind();
dove "nomeTextBox" è una textBox della pagina ed è importante usare i parametri per evitare la classica "Sql-Injection".
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo