What has to be done to set a screen to load data lazily (screen will request only data, that user sees or needs)?
In order to optimize the amount of data transferred from the server to the client you need to modify the following properties in the Screen Menu Item:
- ListDataStructure – You need to create a data structure with a single entity (root entity of your screen) that will be used to load the initial data list. The screen’s data structure will be used when clicking on a record to load the complete screen’s dataset (including details).
- ListMethod (optional) – If the initial list is to be filtered you need to set the filter method here. If you are converting from a non-lazily-loaded screen you will need to recreate all the filters the original (full) data structure had.
- ListSortSet (optional) – If there is an initial SortSet specified in the menu you should also define the sortset on the list data so they come sorted already from the database. This speeds up data loading and sorting on the client.
- Method – Until now this used to be a filtering method to get the screen data. When ListDataStructure method is specified, here you need to switch to a method (filter) that will load a single record by list’s primary Id.