Presumiblemente la forma en la que cargaste el Gridview es pasando datos desde la base de datos a un DataTable y luego vinculando el DataTable al DataSource del GridView.
Pues bien, para aplicar filtros, puedes interponer un DataView entre medias del DataTable y el GridView. El DataView tiene una propiedad llamada "RowFilter", y este filtro es de tipo texto, por lo que le puedes asignar dinamicamente el nombre de
cualquier columna.
DataTable dt = ... // Cargada desde la base de datos
DataView dv = dt.DefaultView;
dv.RowFilter = nombreDeColumna + "='" + valorQueSeFiltra + "'";
GridView1.DataSource = dv; // en lugar de dt
GridView1.DataBind();
https://docs.microsoft.com/en-us/dotnet/api/system.data.dataview.rowfilter?view=netframework-4.7.2