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.
#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 | |||
Load Data Asynchronously | |||
Dynamic Properties | |||
Data Editing | [1] | [2] | [2] |
Sorting | [1] | ||
Filtering | [1] | ||
Grouping | |||
Summary | [1] | ||
Custom Summary | [1] | ||
Build Custom Queries |
-
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.
-
You can use DialogEditFormBehavior to enable edit operations.