Skip to main content

Server Data and Large Data Sources

  • 2 minutes to read

In standard binding mode, the GridControl loads all data items in memory at once. If the data source contains more than 100,000 items, it might significantly slow down the application startup and consume a considerable amount of memory.

This article describes binding mechanisms that allow you to work with large data sources.

Virtual Sources

Virtual Sources allow you to bind the GridControl to any data source including REST Services, NoSQL Databases, Custom WCF Services, Entity Framework, or any other ORM. In this mode, the GridControl only requests top records or a specific page. Users can only scroll or page records. To load data and execute data shaping operations (sort, filter, or search through records) in the GridControl, you should implement these operations in the virtual source. You can control requests that the GridControl sends to a service or database. As a result, you can prevent overloading the database with non-optimal queries. Refer to the following topic for more information on virtual sources: Virtual Source Limitations.

VirtualSourcesTutorialAll

Server Mode and Instant Feedback Mode

The GridControl can work in Server Mode and InstantFeedback Mode with the following data access technologies: Entity Framework, XPO, Entity Framework Core, and Odata. In these modes, the GridControl loads data in batches on demand. Users can perform data shaping operations in the UI. You cannot control requests that the GridControl sends to a service or database. Refer to the following topic for more information: Server Mode Limitations.

Choose Binding Mode - Comparative Table

The following table shows the main features that Server Mode, Instant Feedback Mode, and Virtual Sources support. For more information on each mode, refer to the corresponding topic.

Feature Virtual Source Instant Feedback Server Mode
Load Data on Demand yes yes yes
Load Data Asynchronously yes yes no
Dynamic Properties yes no no
Data Editing yes[1] yes[2] yes[2]
Sorting yes[1] yes yes
Filtering yes[1] yes yes
Grouping no yes yes
Summary yes[1] yes yes
Custom Summary yes[1] no no
Build Custom Queries yes no no
Footnotes
  1. To enable the operation, you should implement it in the virtual source. Refer to the following topic for more information: How to Use Virtual Sources.

  2. You can use DialogEditFormBehavior to enable edit operations.