My preferred way is to display the criteria on a form in on panel & show the query results in a panel below it.
In the screen shot below, the top panel has 5 criteria that are stored in the LoggedInRegularUser, then used in the query in the panel below it:

With this approach, the criteria stored in the LoggedInRegularUser are available for us in any other processes that are performed.
Note that the form makes use of Auto Refresh upon changes in the RegularUser BO and various RegularUser attributes make use of "include undefined text in selection" and "save form when selection changes".
The query makes use of Auto Refresh on changes to RegularUser as well.