Package com.smartgwt.client.docs

# Interface ProgressiveLoading

public 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 the `ResultSet 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()`