Interface ProgressiveLoading
Progressive Loading
The "Progressive Loading" pattern is a way to deal with incrementally retrieving large data sets on demand (see the Paging and total dataset length section of theResultSet documentation
), when the total data length is
not available. For example - if a row-count database query to retrieve an accurate data count
would be prohibitively slow, you may opt to make use of progressive loading instead. In
progressive loading mode, the reported DSResponse.totalRows
from a fetch will not be guaranteed to be accurate as long as there are
more rows to be fetched beyond the requested endRow
. Instead the response.totalRows
will be set to the requested
endRow plus the configured DataSource.endGap
. This indicates to the application that more rows are available, and as the
user scrolls to access these rows, additional fetch operations will occur to retrieve the extra
rows, and will report a new totalRows
value.
Note that when progressive loading is active, the user will typically not be able to cause direct movement to some arbitrary position in the dataset (as is the case with ordinary, non-progressive loading).
When the user scrolls to the true end of the data-set, the totalRows
value is
expected to be accurate.
- See Also:
-
ResultSet.lengthIsProgressive()
DataSource.getProgressiveLoading()
DataSource.progressiveLoadingThreshold
DataSource.lookAhead
DataSource.endGap
DSRequest.getProgressiveLoading()
OperationBinding.progressiveLoading
ResultSet.getProgressiveLoading()
ResultSet.getRememberDynamicProgressiveLoading()
ResultTree.getProgressiveLoading()
SelectItem.getProgressiveLoading()
ComboBoxItem.getProgressiveLoading()