I have table X. There exists a report that runs on all the records in table X.

I need to implement functionality so that the report can be run for only user selected records.

How do I accomplish this? I have seen many examples that use query ranges to build the data set. But in my case the records depend only on user selection before pressing the "Print Report" button.

Will the args in the controller class contain all the selected records? And how do I get those records to the DP class? Is there a way to save them in the Contract? And trying to build that into parmQuery() feels like a terrible way to go.

Thanks for reading