We have been on the “struggle bus” with regard to the way that Epicor presents the landing pages and sortability. For instance, we usually have 1500 or 2500 open quotes at any given time in the system.
Epicor will not allow us to sort non-native table data until all of the data has been downloaded. (We have set the options to download 2500, but you still need to download it with the button). The biggest issue with this is that you cannot save any of the filters (save layout) on the non-native fields, so you have to download everything first then set your filters (or pivot table) and hope you don’t refresh it, because you have to do this all over again (set the filters to see what you want).
So, we can’t search for Priority, or Customer, or Project Name (see attached graphic) until we download them all. We did try to override these fields and force show the “blued-out” boxes under each column header, but this results with errors when entering anything into the now, forced, search boxes on the columns which should have been “blued-out.”
Has anybody come up with a way to either download a set number of records from the onset in Kinetic Landing Pages that works within the Epicor framework, OR, has anybody come up with a way to search non-native table fields on a landing page without having to download them all?
In App Studio (hopefully you already have a custom layer you can use), navigate to and edit the landing page.
Click on the Panel Card Grid, scroll down to Advanced and select View Options and work with whatever view is the default when the page loads.
Scroll down to the bottom and you’ll see a checkbox for “Server Paging”. Mine was unchecked by default… which SHOULD mean it won’t use pagination… but it does.
I was farting around and checked that box and previewed… and yeah, it paginated. So, I went back in and unchecked the box… and now it DOESN’T paginate and loads all records on form load.
So, toggling that on and off seemed to override the default pagination behavior??.. at least in Preview mode… in my one test… on the first Friday of the month. I did not publish this and test it fully.
If you have a pre-defined set of filters, you can define those in View Options, as well!
We have thousands of Transfer Order Shipments, so the landing page grid took forever to load - so now we just have the UnShipped shipments appear on the default View.
Using Rest Params:
If I understand your problem correctly, you can set the page size to a high value to achieve what you are looking for. If you want to always return all rows, set it to something crazy like 1,000,000…
Grid Model > Page Size
This will make GetRows (The BO method used in landing pages) use this value and return all your rows.
If you do this, I suggest hiding columns you don’t need to help with performance.
I was able to turn off paging like @dcamlin tried, but it’s a little buggy. You have to turn on server paging and off again for the page size to be set to 0 (all rows).