Evoke Data Paging

If you have a large amount of data that could be transferred/transmitted to your app then you may wish to turn on "Data Paging" for a Data Source. Consider you have 15,000 product records and you want a customer to have the option to review all of your products, transmitting 15,000 product records to an app on a mobile phone across a 4G or even wifi connection could take a) a long time (both communications and screen rendering/processing locally) or b) the device may not have enough memory. The solution is Evoke data paging.
For each Data Source, Evoke allows you to set Data Page, separately for i) Apps running on desktop devices and ii) Apps running on Mobile devices. The options are:
  • NoDataPaging - The Default option. All data to be retrieved in one roundtrip to the repository.

  • PagingFullBuffering - Data to be retrieved (on-demand) in chunks (pages) with all retrieved chunks being retained in memory.

  • PagingPartialBuffering - Data to be retrieved (on-demand) in chunks (pages) with only a specified number of recently retrieved chunks being retained in memory.

  • PagingWithPrefetch - data to be retrieved in chunks (pages) with multiple chunks being retrieved in each roundtrip to the repository (full buffering implicit).

Data Paging
For each of the options listed above the Page Size (number of records per page), Cache size (number of pages to cache) and/or Pre-Fetch Size (in pages) can be set separately for desktop devices and Mobile devices.
Data Paging Settings on Pages
When Data Paging is used the user of the App will need to be able to see how many pages there are in total and navigate from one page of data to another. This is achieved via a Data Paging bar that is displayed on the appropriate data grid in the App.
The General Settings section of each multiple entity Template (as shown on the right) has a "Show data paging bar" check box. This is used in conjunction with Data Paging and to show the data paging bar on a specific data grid this checkbox should be checked.