Skip to main content

GanttView.CalculateSummaryTaskProgress Event

Occurs when the summary task or one of its children is scheduled and allows you to calculate summary task progress with custom logic. This is a routed event.

Namespace: DevExpress.Xpf.Gantt

Assembly: DevExpress.Xpf.Gantt.v24.1.dll

NuGet Package: DevExpress.Wpf.Gantt

Declaration

public event EventHandler<CalculateSummaryTaskProgressEventArgs> CalculateSummaryTaskProgress

Event Data

The CalculateSummaryTaskProgress event's data class is CalculateSummaryTaskProgressEventArgs. The following properties provide information specific to this event:

Property Description
Handled Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
Node Gets the currently processed summary task.
OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
Progress Gets or sets the currently processed summary task’s progress.
RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

Method Description
InvokeEventHandler(Delegate, Object) When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
OnSetSource(Object) When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

Use the event arguments’ CalculateSummaryTaskProgressEventArgs.Node property to get the currently processed summary task.

The event arguments’ CalculateSummaryTaskProgressEventArgs.Progress property allows you to set a custom progress value.

Example

The code sample below demonstrates how to calculate summary task progress according the child tasks’ progress and their weight stored in the Tag property.

gantt.View.CalculateSummaryTaskProgress += (sender, e) => {
    e.Progress = 0.0;
    foreach(var task in e.Node.Nodes.Select(x => (GanttTask)x.Content)) {
        var taskWeight = (double)task.Tag;
        e.Progress += taskWeight * task.Progress;
    }
    e.Handled = true;
}; 
See Also