[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Collapse]Data Grid
   [Expand]Getting Started
   [Expand]Implementation Details
   [Expand]Grid View Data Layout
   [Expand]Binding to Data
   [Expand]Master-Detail Data Representation
   [Expand]Data Editing and Validation
   [Expand]Filtering and Searching
   [Expand]Data Summaries
   [Expand]Paging and Scrolling
   [Expand]Focus, Navigation, Selection
   [Expand]Conditional Formatting
   [Expand]Appearance Customization
   [Expand]MVVM Enhancements
   [Expand]Printing and Exporting
   [Expand]End-User Interaction
   [Expand]Performance Improvement
   [Expand]Design-Time Features
   [Expand]Visual Elements
   [Expand]End-User Capabilities
    [Collapse]Binding to Data
      How to: Automatically Create Grid Columns
      How to: Bind a Grid to Data (eXpress Persistent Objects)
      How to: Bind a Grid to an MS Access Database
      How to: Bind a Grid to an XML File
      How to: Bind a Grid to an ICollectionView
      How to: Bind the GridControl to XPO
      How to: Apply Data Annotations
      How to: Post Changes to SQL Database
      How to: Display Unbound Data
      How to: Create a Master-Detail Grid
      How to: Bind Card Headers to Data
      How to: Customize Automatically Generated Columns
      How to: Bind the Grid to Columns and Summaries Specified in ViewModel
      How to: Create a Banded View
      How to: Display Data Which is Being Updated on Another Thread
      How to: Use DXGrid in Server Mode with Entity Framework 4.0+
      How to: Activate the Instant Feedback Mode for the Grid Bound to the Entity Framework 4.0 Classes
      How to: Implement the Instant Feedback Mode (XPO)
      How to: Parallelize Data-Intensive Operations On In-Memory Data in Instant Feedback UI Mode
      How to: Speed Up Performance When Using WCF Data Services (OData) in Instant Feedback Mode
    [Expand]Hierarchical Data Presentation
    [Expand]Sorting, Grouping and Filtering
    [Expand]Calculating Summaries
    [Expand]Data Editing and Validation
    [Expand]Focus and Navigation
    [Expand]Styles and Templates
    [Expand]End-User Interaction
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

How to: Display Data Which is Being Updated on Another Thread


A recommended way to manage multi-thread updates is to dispatch them to the main thread. With this approach, you can perform time-consuming operations such as loading data in a separate thread.


This approach does not work for the TreeListView (see TreeListView).

This example invokes the BeginDataUpdate (see DataControlBase.BeginDataUpdate) and EndDataUpdate (see DataControlBase.EndDataUpdate) methods to temporarily disable internal data updates in the GridControl.

We used the following approaches in order not to call the GridControl's methods in the ViewModel.

In v13.1.4 and later, we created a custom service. This service implements the ICustomService interface and invokes BeginDataUpdate and EndDataUpdate in the ICustomService.BeginUpdate and ICustomService.EndUpdate methods.

Refer to the following topics for information on how to access a service in the ViewModel.

In the previous versions, the ViewModel class provides additional events and invokes them before and after the data update. The MainWindow subscribes to these events and invokes BeginDataUpdate and EndDataUpdate in the event handlers.

Is this topic helpful?​​​​​​​