Hi There,
One method I use when doing something very similiar is to have a 2nd Object data source, this would point to a 2nd query that has parameters.
When page loads it dispaly all records, then have a onclick for the search button that changes the gridviews DataSourceID to the 2nd objectdatasource, which would then use the textbox value as the parameter. I think after that you just need to use DataBind() and this will reload the gridview with the filtered results.
i'm sure there loads of ways todo this.
Hope this helps
Regards
Kevin