Hi Daniel,
you could add a page parameter object that contains a boolean value (let's say "gridVisible"), that defaults to false.
Then, wrap your grid into a container and set the container's visibility to "based on expression" like that:
$gridVisible = true
When the user clicks on the search button, call a nanoflow that changes the value of the page parameter "gridVisible" to true.
(If you want to call a microflow that performs the actual search, you can do that in the nanoflow).
Hope that helps.
Best,
Holger