Back to Devexpress

SplitTaskMappings Class

windowsforms-devexpress-dot-xtragantt-1853867d.md

latest5.8 KB
Original Source

SplitTaskMappings Class

Specifies names of data source fields that contain information about task splits.

Namespace : DevExpress.XtraGantt

Assembly : DevExpress.XtraGantt.v25.2.dll

NuGet Package : DevExpress.Win.Gantt

Declaration

csharp
public class SplitTaskMappings :
    GanttControlBaseOptions
vb
Public Class SplitTaskMappings
    Inherits GanttControlBaseOptions

The following members return SplitTaskMappings objects:

Remarks

The SplitTaskSource property specifies a data source that contains information about interruptions in tasks. A data source record contains information about an interruption: the task, the interruption start date, and the duration of the interruption in work hours.

The GanttControl.SplitTaskMappings property allows you to specify the following mappings to data fields:

How Splits Affect Task Finish Date and Duration

A task has a start date, finish date, and duration. To specify a task’s location on the time scale, you only need two of them: start and finish, or start and duration. See the following help topic for more information on how to specify the data fields that contain corresponding values: Bind to Data Source. The control calculates the unspecified parameter (duration or finish date) when tasks are loaded from the data source as follows:

  • If you have specified the start and finish dates — task splits reduce the duration, but do not change the finish date.
  • If you have specified the start date and duration — task splits postpone the finish date, but do not change the duration.

Note that after tasks are loaded (finish dates/durations are calculated), the control can only update the finish date (but not the duration) when a task’s split duration is changed.

Example

The code below shows a sample data source that contains information about task splits.

csharp
ganttControl1.SplitTaskMappings.StartDateFieldName = "StartDate";
ganttControl1.SplitTaskMappings.DurationFieldName = "Duration";
ganttControl1.SplitTaskMappings.KeyFieldName = "UID";

List<TaskSplitInfo> splitInfo = new List<TaskSplitInfo>();
splitInfo.Add(new TaskSplitInfo() { UID = "8", StartDate = tasks[8].StartDate + TimeSpan.FromHours(2), Duration = TimeSpan.FromHours(8)});
splitInfo.Add(new TaskSplitInfo() { UID = "9", StartDate = tasks[9].StartDate + TimeSpan.FromHours(5), Duration = TimeSpan.FromDays(1)});
splitInfo.Add(new TaskSplitInfo() { UID = "10", StartDate = tasks[10].StartDate + TimeSpan.FromHours(4), Duration = TimeSpan.FromHours(4) });
splitInfo.Add(new TaskSplitInfo() { UID = "10", StartDate = tasks[10].StartDate + TimeSpan.FromDays(2) + TimeSpan.FromHours(2), Duration = TimeSpan.FromHours(4) });
ganttControl1.SplitTaskSource = splitInfo;

public class TaskSplitInfo {
    public string UID { get; set; }
    public DateTime StartDate { get; set; }
    public TimeSpan Duration { get; set; }
}
vb
ganttControl1.SplitTaskMappings.StartDateFieldName = "StartDate"
ganttControl1.SplitTaskMappings.DurationFieldName = "Duration"
ganttControl1.SplitTaskMappings.KeyFieldName = "UID"

Dim splitInfo As New List(Of TaskSplitInfo)()
splitInfo.Add(New TaskSplitInfo() With {.UID = "8", .StartDate = tasks(8).StartDate.Add(TimeSpan.FromHours(2)), .Duration = TimeSpan.FromHours(8)})
splitInfo.Add(New TaskSplitInfo() With {.UID = "9", .StartDate = tasks(9).StartDate.Add(TimeSpan.FromHours(5)), .Duration = TimeSpan.FromDays(1)})
splitInfo.Add(New TaskSplitInfo() With {.UID = "10", .StartDate = tasks(10).StartDate.Add(TimeSpan.FromHours(4)), .Duration = TimeSpan.FromHours(4)})
splitInfo.Add(New TaskSplitInfo() With {.UID = "10", .StartDate = tasks(10).StartDate.Add(TimeSpan.FromDays(2).Add(TimeSpan.FromHours(2))), .Duration = TimeSpan.FromHours(4)})
ganttControl1.SplitTaskSource = splitInfo

Public Class TaskSplitInfo
    Public Property UID() As String
    Public Property StartDate() As Date
    Public Property Duration() As TimeSpan
End Class

Inheritance

Object ViewStatePersisterCore BaseOptions DevExpress.XtraTreeList.BaseTreeListOptions DevExpress.XtraGantt.GanttControlBaseOptions SplitTaskMappings

See Also

SplitTaskMappings Members

Split a Partially Completed Task

DevExpress.XtraGantt Namespace