Version

Configuring Tasks as Manual/Automatic

Topic Overview

Purpose

This topic explains how to configure a task to either manual or automatic scheduling using the xamGantt™ control.

Required background

The following topics are prerequisites to understanding this topic:

Topic Purpose

This topic describes how the xamGantt control can be bound to data via Project property.

Manual/Auto Task Configuration Summary

Manual/auto task configuration summary chart

The following table lists the ProjectTask mode‘s (auto or manual scheduled) configurable aspects. Additional details follow.

Configurable aspect Details Property Command

Toggle task mode to auto scheduled

Programmatically changes the task’s mode using either the ProjectTask IsManual property or a command.

Toggle task mode to manually scheduled

Programmatically changes the task’s mode is using either the ProjectTask IsManual property or a command.

Configuring the scheduling mode of the created tasks through the xamGantt user interface

Configures the newly created tasks mode using the ProjectSettings NewTasksAreManual property.

-

Configuring Task Mode to Auto/Manually Scheduled Using IsManual Property

Overview

The ProjectTask task mode indicates how a task’s scheduling affected when other changes occur within the project.

Possible task mode values are:

  • auto scheduled

  • manually scheduled

When making changes to the project or one of its tasks, results in the rescheduling of the auto-scheduled tasks.

The manually scheduled tasks are only rescheduled when changes are made to it, or either its predecessors or successors changes.

Note
Note

You can change the default scheduling mechanism using the ProjectSettings ShouldCalculateAfterEachEdit property - to suspend the automatic recalculation and ShouldUpdateManualTasksWhenEditingLinks property - to prevent updates to the manual tasks after editing their dependencies.

The task mode displays in both in the grid and chart xamGantt section.

  • In the grid section, the task mode appears in the Task Mode column.

  • In the chart section, the manual and automatic scheduled tasks differentiated by different colored taskbars.

Property settings

The following table maps the desired configuration to property settings.

In order to: Use this property: And set it to:

Toggle Task Mode to Auto/Manually Scheduled

IsManual

bool

Example

The screenshots below illustrates how to configure the manually scheduled task mode using the following settings:

  1. Task start date and duration are specified:

Property Value

IsManual

true

Duration

TimeSpan.FromHours(16)

Start

DateTime.Today.ToUniversalTime();

Configuring Tasks as Manual Automatic 1.png

In C#:

XamGantt gantt = new XamGantt();
Project project = new Project();
ProjectTask manualTask = new ProjectTask();
manualTask.TaskName = "Manual Task";
manualTask.IsManual = true;
manualTask.Duration = TimeSpan.FromHours(16);
manualTask.Start = DateTime.Today.ToUniversalTime();
project.RootTask.Tasks.Add(manualTask);
gantt.Project = project;

In Visual Basic:

Dim gantt As New XamGantt()
Dim project As New Project()
Dim manualTask As New ProjectTask()
manualTask.TaskName = "Manual Task"
manualTask.IsManual = True
manualTask.Duration = TimeSpan.FromHours(16)
manualTask.Start = DateTime.Today.ToUniversalTime()
project.RootTask.Tasks.Add(manualTask)
gantt.Project = project
  1. Specifies a task’s duration, but task’s start and finish dates are undefined and enters free text:

Configuring Tasks as Manual Automatic 2.png
Property Value

IsManual

true

Duration

TimeSpan.FromHours(16)

ManualStart

new ManualDateTime("Still In Discussion")

ManualFinish

new ManualDateTime("Not Defined Yet")

In C#:

XamGantt gantt = new XamGantt();
Project project = new Project();
ProjectTask manualTask = new ProjectTask();
manualTask.TaskName = "Manual Task";
manualTask.IsManual = true;
manualTask.Duration = TimeSpan.FromHours(16);
manualTask.ManualStart = new ManualDateTime("Still In Discussion");
manualTask.ManualFinish = new ManualDateTime("Not Defined Yet");
project.RootTask.Tasks.Add(manualTask);
gantt.Project = project;

In Visual Basic:

Dim gantt As New XamGantt()
Dim project As New Project()
Dim manualTask As New ProjectTask()
manualTask.TaskName = "Manual Task"
manualTask.IsManual = True
manualTask.Duration = TimeSpan.FromHours(16)
manualTask.ManualStart = New ManualDateTime("Still In Discussion")
manualTask.ManualFinish = New ManualDateTime("Not Defined Yet")
project.RootTask.Tasks.Add(manualTask)
gantt.Project = project

Related Topics

The following topics provide additional information related to this topic.

Topic Purpose

The topics in this group explain the xamGantt ProjectTask class, its configurable aspects and the main features it provides.

This topic describes many of the more commonly used commands available in the xamGantt control, and how to use them.