You can try using listview instead of datagrid and use dropdown filter widget but I doubt you will be able to achieve what you want. Or try Grid Search widget from appstore if this helps (I personally didn't use it so cant tell much).
Other option to achieve what you want is to implement custom search instead of out of the box. You might need a helper search entity associated to your main entity and have all you search filters in the helper entity (either as attributes or associations from helper entity). On ‘search button’ you can call a microflow where you can use retrieve action to filter however you want and than associate the results list to be shown on the page. (note: if there are large number of results e.g. >2000 or >5,000 or you are doing complex retrieve and looping then you might have to think about performance)
There is a forum post on custom search if that helps you.
Hope this helps!