A newer version of this page is available. Switch to the current version.

Large Data Sources: Server and Instant Feedback Modes

  • 5 minutes to read

Documentation

Demos (links require the DevExpress Demo Center of version 16.2 or newer to be installed)

Examples

What are Server Modes?

In regular data binding modes, a Data Grid loads an entire data set at once, which, in cases of large data volumes, significantly slows down application startup and consumes a considerable amount of memory. The overall Data Grid performance depends on a customer's rig, and data shaping operations (sorting, grouping or filtering) may cause a bottleneck.

LargeDataSources_DefaulModeMemoryResult

Server modes address this issue by loading data in small portions on demand and carrying out all data shaping operations server side.

LargeDataSources_ServerModeMemoryResult

The "server modes" term includes two separate modes:

  • a regular (synchronous) server mode locks the GUI and does not respond to end-users' actions when data is retrieved;
  • an Instant Feedback mode (asynchronous server mode) loads data in a background thread, so that the GUI remains responsive in the process. This mode is not supported in the GridLookUpEdit control.

Feature Limitations and Specifics

In server modes, grid controls (GridControl, GridLookUpEdit, and SearchLookUpEdit) do not have simultaneous access to bound data in its entirety. This imposes certain limitations on the grid's features that are still available in a regular binding mode. Please see the list below for information on features that are not supported/not recommended in server mode.

To learn about known issues when using Entity Framework data sources in Server Mode and how to overcome them, please refer to Entity Framework 4.0+ Server Mode Specifics.

Server Mode Data Sources

To enable a specific server mode for your data-aware control, you need to use an appropriate data source. You can use data sources provided by the eXpress Persistent Objects (XPO) library, or use dedicated data sources tailored to work with 'LINQ to SQL Classes'. Thus, choose one of the following data sources for your control.

Data Access Technology Server Mode Data Source Instant Feedback UI Data Source
Entity Framework 4+ EntityServerModeSource EntityInstantFeedbackSource
eXpress Persistent Objects XPServerCollectionSource XPInstantFeedbackSource
LINQ to SQL LinqServerModeSource LinqInstantFeedbackSource
Parallel LINQ to Objects PLinqServerModeSource PLinqInstantFeedbackSource
WCF Data Services WcfServerModeSource WcfInstantFeedbackSource
OData v4 ODataServerModeSource ODataInstantFeedbackSource

Infinite Scrolling - Virtual (Event-Based) Server Mode

In addition to two "classic" data-on-demand Grid modes (Server Mode & Instant Feedback), you can use the event-based VirtualServerModeSource component to manually implement the batch data loading. A Data Grid bound to this data source component supports the Infinite Scrolling feature.

InfiniteScrolling2.gif

Refer to the Infinite Scrolling demo for an example.