If there is network latency caused by big data loaded from remote location that makes it seem slow from end user perspective, then the initial data availability time can be quite reduced by loading data in multiple batches or pages.
Unlike remote loading of entire data in one batch which locks the UI of grid until all the data is fetched; in background loading, the grid becomes partially interactive after the first batch of data is loaded while the remaining remote data keeps on loading in the background.
Background loading is similar to lazy loading except one major difference: the records keep on loading in the background after initial batch in the former while the records are loaded on demand based on current viewport scroll position in the latter.
While there is no paging UI with this feature, remote script is same as in case of remote paging
No of records per batch or page is set with pageModel.rPP
option of grid.
Whenever new data is fetched from remote source, either initially or via call to refreshDataAndView
, the following events of interest are fired
in the given sequence:
beforeNewData
> lazyInit
> lazyProgress ( multiple times )
> lazyComplete
> complete