Skip to main content

VCL Data Controllers

  • 2 minutes to read

A VCL Data Controller is an interlayer between a control that displays data and its underlying data source. DevExpress container controls (Tree List, Vertical Grid, Pivot Grid, or a View in the Data Grid) and certain data-aware editors rely on data controllers to access and shape data. Dedicated data controllers implement all available data access modes for supported products.

Data Access Modes


A control is not bound to a dataset and displays data cached in a data controller.

Refer to the following topic for information on how to create a master-detail relationship in the Data Grid: Unbound Mode: Master-Detail.

A control relies on a data controller to load and shape data from a bound dataset. The TDataSource component connects the data controller to a dataset.

A control uses a server mode data controller to load data from a supported database on demand. The current server mode implementation supports Microsoft SQL Server, Microsoft Access, MySQL, Firebird, InterBase (except for query-based server mode data sources), Oracle, Advantage, PostgreSQL, and SQLite databases. A TdxServerModeDataController class descendant’s instance manages data.

Refer to the following topics for details on server mode:


A container control loads data from a custom data source (a TcxCustomDataSource class descendant). You can implement any data access and management mechanism in this mode.

Refer to the following topics for detailed information on provider mode in different controls: