Skip to main content

SchedulerControl.BeginUpdate() Method

Locks the SchedulerControl, preventing visual updates of the object and its elements until the EndUpdate or CancelUpdate method is called.

Namespace: DevExpress.XtraScheduler

Assembly: DevExpress.XtraScheduler.v24.1.dll

NuGet Package: DevExpress.Win.Scheduler

Declaration

public void BeginUpdate()

Remarks

Once the BeginUpdate method has been called, modifying the SchedulerControl and its elements does not result in immediate visual updates. So, multiple modifications can be made to the SchedulerControl object and its elements without a major impact on performance or screen flickering. After all the desired operations have been finished, call the EndUpdate or CancelUpdate method. Use the EndUpdate method to immediately perform a visual update, reflecting all the changes made. If no immediate visual update is required (for example, if no visual setting has been affected by the operations performed), call the CancelUpdate method.

The BeginUpdate, EndUpdate and CancelUpdate methods use an internal counter to implement the update functionality. The counter’s initial value is 0. The BeginUpdate method increments the counter. The EndUpdate and CancelUpdate decrement the counter.

The object’s visual updates (change notifications) are forbidden if the counter’s value is greater than 0, and the updates are enabled if the counter’s value is 0.

Each call to BeginUpdate must be paired with a call to EndUpdate or CancelUpdate. To ensure that EndUpdate/CancelUpdate is always called even if an exception occurs, use the try…finally statement.

Note

We suggest that you encompass any methods that modify the number of items in collections, accessed via SchedulerControl properties, with the BeginUpdate - EndUpdate pair.

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the BeginUpdate() method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also