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.v20.1.dll

Declaration

public event EventHandler<CalculateSummaryTaskProgressEventArgs> CalculateSummaryTaskProgress
Public Event CalculateSummaryTaskProgress As EventHandler(Of CalculateSummaryTaskProgressEventArgs)

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.

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