Skip to main content
All docs
V26.1
  • 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.v26.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