Ciao,
mi sa che ti mancano un po' di basi per padroneggiare la tecnologia, quello che hai fatto va bene, ma è qualcosa di "poco professionale", ed infatti appena vai a fondo ti nascono i problemi.
La cosa è fattibile anche tramite il dataset, inserendo un parametro e cambiando il comando...ma non te lo spiego nemmeno perchè preferirei portarti a sviluppare in maniera corretta, di modo che anche in futuro ti può tornare utile un diverso approccio.
La cosa corretta sarebbe lavorare ad oggetti, quindi avere un Provider che ti torna una collection tipizzata di oggetti, che sul database sono poi salvati tramite colonne/righe etc...visto il tuo problema forse un po' troppo avanti come cosa, ti consiglio intanto di fare il primo passo, ossia abbandonare il wizard grafico 
Ti consiglio di farti una classe che ti faccia da provider, intanto possiamo farlo un po' generico, ossia che ti torna una DataTable, e riceva una stringa sql che vuoi, e poi la mostri nella Griglia settandola come DataSource:
public class DataBaseProvider
{
public static string ConnectionString
{
get
{
//--- leggo da app.config
return ConfigurationManager.ConnectionStrings["..."].ConnectionString;
}
}
public static DataTable GetTabella(string sql)
{
return GetTabella(sql, null);
}
public static DataTable GetTabella(string sql, IEnumerable<DbParameter> parametri)
{
DataTable dt = new DataTable();
using (OleDbConnection cn = new OleDbConnection(ConnectionString))
{
//--- preparo l'oggetto command, ossia il comando da eseguire
OleDbCommand cmd = cn.CreateCommand();
cmd.CommandText = sql;
//--- eventuali parametri
if(parametri != null)
foreach (var p in parametri)
cmd.Parameters.Add(p);
//--- apro la connessione ed eseguo, riempiendo la datatable
cn.Open();
OleDbDataReader rd = cmd.ExecuteReader();
dt.Load(rd);
}
return dt;
}
....ETC...
come vedi puoi passare una stringa con la query scritta ed eventuali parametri (utili quando ne hai tanti e di tipi diversi da quelli classici come stringa,int che vai meglio a non metterli nella stringa sql intera, così eviti anche eventuale SqlInjection...)
Dopo che questa classe ti torna la datatable, puoi settarla come sorgente dati della griglia che ti mostrerà i dati risultanti dalla query:
DataTable dt = DataBaseProvider.GetTabella("SELECT * FROM tabella WHERE ...");
dataGridView1.DataSource = dt;
Intanto questo è il minimo per avere del codice "decente", ti consiglio qualche lettura di approfondimento sulla metodologia di accesso ai dati di .net:
http://msdn.microsoft.com/en-us/library/e80y5yhx(v=vs.80).aspx
http://msdn.microsoft.com/en-us/data/ef.aspx
http://msdn.microsoft.com/en-us/data/bb419139
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo