Back to Devexpress

GanttView.CalculateSummaryTaskProgress Event

wpf-devexpress-dot-xpf-dot-gantt-dot-ganttview-85005d02.md

latest5.6 KB
Original Source

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.v25.2.dll

NuGet Package : DevExpress.Wpf.Gantt

Declaration

csharp
public event EventHandler<CalculateSummaryTaskProgressEventArgs> CalculateSummaryTaskProgress
vb
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:

PropertyDescription
HandledGets 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.
NodeGets the currently processed summary task.
OriginalSourceGets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
ProgressGets or sets the currently processed summary task’s progress.
RoutedEventGets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
SourceGets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

MethodDescription
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.

csharp
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;
};
vb
AddHandler gantt.View.CalculateSummaryTaskProgress, Sub(sender, e)
    e.Progress = 0.0
    For Each task In e.Node.Nodes.Select(Function(x) CType(x.Content, GanttTask))
        Dim taskWeight = CDbl(task.Tag)
        e.Progress += taskWeight * task.Progress
    Next task
    e.Handled = True
End Sub

See Also

GanttView Class

GanttView Members

DevExpress.Xpf.Gantt Namespace