VCL Shared Framework

Data Controller

 

Fast and Responsive - Unlike Anything Before or Since

The secret of the performance efficiency lies within the engine that powers it - the ExpressDataController, which is second to none.

The first thing you will notice when you start using an application built with the ExpressQuantumGrid, ExpressQuantumTreeList, ExpressScheduler, ExpressPivotGrid, and ExpressVerticalGrid Suites is how incredibly fast it groups, sorts, summarizes and filters data. This blazing speed is achieved because of the efficient way in which the ExpressDataController is able to parse data, its ultra compact data structure; and its storage of data in native formats, removing the need for costly data conversion.

The main two hallmarks of the ExpressDataController are its unmatched Data Flexibility and High Performance.

Data Flexibility

Data is all around us - from data components like datasets from Borland and Third-Parties, to file systems. It is in the registry and INI files and even in the properties of objects within your application… In short there are an infinite number of places and ways a developer can obtain data to display on screen. Delphi grids, however, can usually only obtain their data from a TDataSet. The ExpressDataController changes this by allowing you to display data within the ExpressQuantumGrid, ExpressQuantumTreeList, ExpressScheduler, ExpressPivotGrid, and ExpressVerticalGrid from anywhere.

The ExpressDataController has 3 data retrieval modes:

  • Bound (Data-Aware) Mode

    The ExpressDataController is bound to a traditional DataSet (or descendant) via a TDataSource. If you've used the TDataSource, you will feel right at home with the ExpressQuantumGrid.

  • Unbound Mode

    In this mode, the ExpressDataController is passed raw data. Using Unbound mode is as easy as working with a TStringGrid. Unbound mode allows you to specify data types and values both at design time and runtime such as the possible states of a grid cell in the MineSweeper game sample we've built using the ExpressQuantumGrid.

  • Provider Mode

    In this mode, data is managed independently and the ExpressDataController is instructed as to how to retrieve it on demand. This allows you to code for performance and reduce any wasteful use of resources by eliminating multiple copies of data in memory. The ExpressDataController can direct any supported Developer Express control (ExpressQuantumGrid, ExpressQuantumTreeList, ExpressScheduler, ExpressPivotGrid, and ExpressVerticalGrid) to read from any source whether that be Third-Party data engines, keys in the registry, elements in an XML stream, or even filenames in a file system.

    In this mode you create simple custom data sources (by overriding a few methods) that provide data for use with the ExpressDataController. This allows you to create and populate details with data on the fly. And by overriding a single method you can instruct Developer Express controls to write them back once the user has edited them. This approach is particularly useful when creating hierarchical data browsers such as file or registry browsers.

    Additionally, the ExpressDataController allows Developer Express controls to go beyond the constraints of columns that contain only one data type and allows for data types to be customized at the row level.

High Speed and Performance

When it comes to performance, nothing comes close to the ExpressDataController when working with large datasets. The ExpressDataController gives you options that allow you to significantly increase efficiency and speed up the manipulation of data for the following Developer Express controls: ExpressQuantumGrid, ExpressQuantumTreeList, ExpressScheduler, ExpressPivotGrid, and ExpressVerticalGrid.

  • SmartRefresh Mode
    Using SmartRefresh Mode dramatically improves performance since only dataset records which have been modified by the bound Developer Express control are reloaded when the internal set of records is updated. This mode cannot be enabled when Grid Mode is in effect.
  • Grid Mode
    When using Grid Mode, only a fixed number of dataset records is loaded into memory. Because only a limited set of records are retrieved from the dataset, automatic sorting, filtering and summary calculations are disabled in Grid Mode (must be controlled manually instead). By default, this mode is disabled and the ExpressDataController loads all records in a dataset.

With the ExpressDataController, you are finally free to display any information source as data to your end-users.

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.