Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Collapse]Data Grid
   [Expand]Getting Started
   [Collapse]Binding to Data
    [Collapse]Server Mode
      Regular Binding Mode vs Regular Server Mode vs Instant Feedback Mode
      Grid Features Supported in Server Mode
      Server Mode Limitations
      Data Stores Supported in Server Mode When Using XPO
      Server Mode: Binding to a Data Source Using eXpress Persistent Objects
      Instant Feedback Mode
      Tutorial: Large Data Sources and Instant Feedback with Server Mode
     Grid Control Binding Specifics
     Posting Data to a Connected Database
     Unbound Columns
     Binding to Entity Framework Models
     Binding via Data Source Configuration Wizard
     Fluent API Support
     Member Table: Data Binding
     Tutorial: ADO.NET Data
     Tutorial: Create and Manage Columns at Design Time
     Tutorial: Create and Manage Data in Code and Apply Data Annotation Attributes
     Tutorial: Entity Framework Data
     Tutorial: Unbound Columns
     Tutorial: Working with Columns in Code
   [Expand]Grid View
   [Expand]View Technology
   [Expand]Grouping
   [Expand]Sorting
   [Expand]Summaries
   [Expand]Data Editing
   [Expand]Filtering and Locating Rows
   [Expand]Focus and Selection Handling
   [Expand]Processing Rows
   [Expand]Formatting Cell Values
   [Expand]Master-Detail Relationships
   [Expand]Asynchronous Image Load
   [Expand]Export and Printing
   [Expand]Appearance and Conditional Formatting
   [Expand]Batch Modifications
   [Expand]Hit Information
   [Expand]Hints
   [Expand]Popup Menus
   [Expand]Saving and Restoring Layouts
   [Expand]Visual Elements
   [Expand]Design-Time Features
   [Expand]Examples
   [Expand]End-User Capabilities
    Included Components
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Diagrams
  [Expand]Gauges
  [Expand]Map Control
  [Expand]Scheduler
  [Expand]Spreadsheet
  [Expand]Rich Text Editor
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]Printing-Exporting
  [Expand]PDF Viewer
   Reporting
  [Expand]Snap
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Regular Binding Mode vs Regular Server Mode vs Instant Feedback Mode

In this topic, the term grid control refers to a data-aware control that supports a server mode.

Expanded Regular Binding Mode vs Regular Server Mode vs Instant Feedback Mode

In a regular data binding mode, data must be transferred in its entirety from a data store into memory, before it is displayed within a grid control. The number of records can cause a bottleneck: the more records there are the more time is required to load data. Moreover, a grid's performance also depends on the total number of loaded records, particularly when data is sorted, grouped, filtered or the summary feature is used. In this case, a grid needs to process an entire recordset to implement a specific data-aware operation.

Server modes (regular server mode and Instant Feedback mode) have been specifically designed to work with large datasets. Bound data is not loaded into memory in its entirety. Instead, the grid control loads data in small portions on demand. When a grid starts, it loads and displays the first portion of data from a data store. Then, as an end-user scrolls the grid and the last record of the loaded subset is reached, the grid requests the data store to return a subsequent data portion.

For end-users, the grid control functions identically in regular and server modes. In server mode, they can scroll the grid and use an automatic filtering feature to access a particular data range, sort, group and filter data, and calculate summaries.

In a regular binding mode, a grid control has simultaneous access to all data, and performs data-aware operations itself (e.g. sorting, grouping, filtering records and calculating summaries). In server modes, a grid control has simultaneous access only to a small amount of data at a time, and therefore cannot perform any data-aware operations itself. Instead, all data-aware operations are performed on the server side and their results are shown in the grid.

This is a general overview of how data is sorted in a server mode. Assume that an end-user clicks a specific grid column header to sort records against this column. The grid sends a query to a data store to sort data against a clicked column and to retrieve a specific data range. The returned records are then displayed on screen. Upon scrolling records, a grid sends requests to a data store to retrieve subsequent data sorted against a clicked column.

There are two distinctive server modes that differ in the way a grid control interacts with a bound data source. These are: regular (synchronous) server mode and Instant Feedback mode (asynchronous server mode).

In a regular (synchronous) server mode, after sending a request to a data source, a grid control waits until data is retrieved and doesn't respond to an end-user's actions. So the GUI freezes and doesn't allow a user to interact with the grid control and other controls in the same form. After appropriate data is retrieved from a data source, the control is unlocked.

In Instant Feedback Mode, data is retrieved by a data source in the background thread. So, a grid control and application never freeze while a request for data is sent to a data source. An end-user can interact with a grid control (sort and group data, scroll the grid, etc.), without any delay.

Expanded See Also

How would you rate this topic?​​​​​​​