This version adds a setting to control pagination in the Easy Form Report macros: "Max rows for client-side pagination". The default value is 10,000 rows:
If the number of rows in the report is less than or equal to the number in this setting, client-side pagination is used in the report table. Else, server-side pagination is used.
Client-side pagination loads all rows of the report into memory in the browser (and on your server) and thus, makes sorting and search filtering fast. The tradeoff is that it uses more memory than server-side pagination and, if the number of pages is very large, it can bog down your server or your browser.
Server-side pagination loads only one page of data into memory in the browser (and on your server). It is a bit slower for sort/search but performs well for very large datasets (that is, reports with many submissions).
You can give a lower number to give preference to server-side pagination or higher to give preference to client-side pagination in this parameter for your report macro. Set it to 0 to always use server-side pagination.
Server-side pagination has the following limitations in sort/filter operations due to the limitations imposed by SQL and the database schema for reports:
You cannot sort based on a submission value if you are searching a submission value at the same time. In this case, you must sort using another field, like the updated date, and then search by submission value.
You cannot sort multi-valued submission fields (checkboxes).