バージョン

タスクの依存関係の構成

トピックの概要

目的

このトピックでは、 xamGantt™ コントロールを使用してタスクの依存関係を構成する方法を説明します。

前提条件

このトピックを理解するためには、以下のトピックを理解しておく必要があります。

トピック 目的

このトピックでは、Project プロパティによって xamGantt コントロールをデータにバインドする方法を説明します。

タスクの依存関係の構成の概要

タスクの依存関係の構成の概要表

以下の表に、 xamGantt コントロール内でタスクの依存関係を構成するために可能なオプションをリストします。追加の詳細情報はこのトピックの後で説明します。

構成可能な項目 説明 プロパティ

タスクの先行処理の指定

タスクの先行処理 ID、リンク タイプ、リード タイム/ラグ タイムを表す文字列を返すか、設定します。

タスクの先行処理の指定

タスクの先行処理を表す ProjectTaskDependency オブジェクトのコレクションを返します。

タスクの後続処理の指定

タスクの後続処理 ID、リンク タイプ、リード タイム/ラグ タイムを表す文字列を返すか、設定します。

タスクの後続処理の指定

タスクの後続処理を表す ProjectTaskDependency オブジェクトのコレクションを返します。

依存関係リンク タイプを指定する

依存するタスクを結ぶ線のタイプを示すタイプ ProjectTaskDependencyLineType の値を返すか、設定します。

サポートされる依存関係リンク タイプ:

エディターのリンク タイプ表記 リンク タイプ 説明

FS

終了 - 開始リンク

その他の方法で指定されない場合には、これがデフォルトのリンク タイプです。

後続処理の開始日は先行処理の終了日に依存します。

FF

終了 - 終了リンク

後続処理の終了日は先行処理の終了日に依存します。

SF

開始 - 終了リンク

後続処理の終了日は先行処理の開始日に依存します。

SS

開始 - 開始リンク

後続処理の開始日は先行処理の開始日に依存します。

先行処理および後続処理コレクションを使用してタスクの依存関係を指定

概要

xamGantt コントロールは、プロジェクト内のタスク間の依存関係リンクを作成する機能を提供し、Microsoft Project 2010 で使用可能なリンク タイプをサポートします。依存関係のリード タイムとラグ タイムも指定できます。

タスクの先行処理と後続処理のコレクションを使用してプログラムによってタスクの依存関係を作成します。ProjectTask Predecessors および Successors プロパティを使用して、 ProjectTaskDependency オブジェクトのコレクションを作成します。

Successors および Predecessors コレクションは Add メソッドの 2 つのオーバーロード メソッドを公開します。

最初のオーバーロード メソッドは ProjectTaskProjectTaskLinkType をパラメーターとして取得します。

2 つ目のオーバーロード メソッドは ProjectTaskProjectTaskLinkType および ProjectDuration をパラメーターとして取得します。

タスクの依存関係、文字列表現、許容可能な期間の書式に関する詳細については、 「xamGantt 列の編集」トピックを参照してください。

プロパティ設定

以下の表は、タスクの依存関係の構成をプロパティ設定にマップしたものです。

目的: 使用するプロパティ: メソッド: 次に設定:

タスクの後続処理コレクションの設定

Add

タスクの先行処理コレクションの設定

Add

以下のコード例では、Predecessors および Successors コレクションを使用してタスクの依存関係を作成する方法を示します:

C# の場合:

ProjectTask firstTask = this.gantt.Project.RootTask.Tasks[0];
// タスクの 2 つの依存関係を設定
// firstTask.Tasks[0].SuccessorsIdText = "3,4";
firstTask.Tasks[0].Successors.Add(firstTask.Tasks[1]);
firstTask.Tasks[0].Successors.Add(firstTask.Tasks[2]);
// Finish-to-Start 依存関係と
// 依存するタスク間で 50% のリード タイムを設定
// タスク間の重複は先行処理タスク期間の 50%
// firstTask.Tasks[1].SuccessorsIdText = "4FS-50%";
firstTask.Tasks[1].Successors.Add(firstTask.Tasks[2], ProjectTaskLinkType.FinishToStart, ProjectDuration.FromFormatUnits(-50, ProjectDurationFormat.Percent));
// 2 日のリードタイムを設定
// firstTask.Tasks[3].PredecessorsIdText = "4FS-2 days";
firstTask.Tasks[3].Predecessors.Add(firstTask.Tasks[2], ProjectTaskLinkType.FinishToStart, ProjectDuration.FromFormatUnits(-2, ProjectDurationFormat.Days));
// 依存するタスク間で 1 日の遅延 (ラグ タイム) を設定
// firstTask.Tasks[4].PredecessorsIdText = "5SS+1d";
firstTask.Tasks[4].Predecessors.Add(firstTask.Tasks[3], ProjectTaskLinkType.StartToStart, ProjectDuration.FromFormatUnits(1, ProjectDurationFormat.Days));

Visual Basic の場合:

Dim firstTask As ProjectTask = Me.gantt.Project.RootTask.Tasks(0)
' タスクの 2 つの依存関係を設定
' firstTask.Tasks[0].SuccessorsIdText = "3,4";
firstTask.Tasks(0).Successors.Add(firstTask.Tasks(1))
firstTask.Tasks(0).Successors.Add(firstTask.Tasks(2))
' Finish-to-Start 依存関係と
' 依存するタスク間で 50% のリード タイムを設定
' タスク間の重複は先行処理タスク期間の 50%
' firstTask.Tasks[1].SuccessorsIdText = "4FS-50%";
firstTask.Tasks(1).Successors.Add(firstTask.Tasks(2), ProjectTaskLinkType.FinishToStart, ProjectDuration.FromFormatUnits(-50, ProjectDurationFormat.Percent))
' 2 日のリードタイムを設定
' firstTask.Tasks[3].PredecessorsIdText = "4FS-2 days";
firstTask.Tasks(3).Predecessors.Add(firstTask.Tasks(2), ProjectTaskLinkType.FinishToStart, ProjectDuration.FromFormatUnits(-2, ProjectDurationFormat.Days))
' 依存するタスク間で 1 日の遅延 (ラグ タイム) を設定
' firstTask.Tasks[4].PredecessorsIdText = "5SS+1d";
firstTask.Tasks(4).Predecessors.Add(firstTask.Tasks(3), ProjectTaskLinkType.StartToStart, ProjectDuration.FromFormatUnits(1, ProjectDurationFormat.Days))

PredecessorsIdText および SuccessorsIdText プロパティを使用してタスクの依存関係を指定

概要

タスクの依存関係を設定するには、 ProjectTask SuccessorsIdText および SuccessorsIdText プロパティを使用します。これらのプロパティは、依存するタスク ID、リンク タイプ、ラグ タイムおよびリード タイムを含む依存関係の文字列表現を受け入れます。

タスクの依存関係と文字列表現に関する詳細については、 「xamGantt 列の編集」トピックを参照してください。

プロパティ設定

以下の表は、タスクの依存関係の構成をプロパティ設定にマップしたものです。

目的: 使用するプロパティ: 次に設定:

タスクの後続処理の設定

string

タスクの先行処理の設定

string

以下のスクリーンショットは、以下のコード例を使用してタスクの依存関係を構築する方法を示します。xamGantt チャート領域をよく見て、定義された依存関係を表すために依存関係リンクを使用します。

Configuring Task Dependencies 1.png

C# の場合:

ProjectTask firstTask = this.gantt.Project.RootTask.Tasks[0];
// タスクの 2 つの依存関係を設定
firstTask.Tasks[0].SuccessorsIdText = "3,4";
// Finish-to-Start 依存関係と
// 依存するタスク間で 50% のリード タイムを設定
// タスク間の重複は先行処理タスク期間の 50%
firstTask.Tasks[1].SuccessorsIdText = "4FS-50%";
// 2 日のリードタイムを設定
firstTask.Tasks[3].PredecessorsIdText = "4FS-2 days";
// 依存するタスク間で 1 日の遅延 (ラグ タイム) を設定
firstTask.Tasks[4].PredecessorsIdText = "5SS+1d";

Visual Basic の場合:

Dim firstTask As ProjectTask = Me.gantt.Project.RootTask.Tasks(0)
' タスクの 2 つの依存関係を設定
firstTask.Tasks(0).SuccessorsIdText = "3,4"
' Finish-to-Start 依存関係と
' 依存するタスク間で 50% のリード タイムを設定
' タスク間の重複は先行処理タスク期間の 50%
firstTask.Tasks(1).SuccessorsIdText = "4FS-50%"
' 2 日のリードタイムを設定
firstTask.Tasks(3).PredecessorsIdText = "4FS-2 days"
' 依存するタスク間で 1 日の遅延 (ラグ タイム) を設定
firstTask.Tasks(4).PredecessorsIdText = "5SS+1d"

関連コンテンツ

このトピックについては、以下のトピックも参照してください。

トピック 目的

このグループのトピックでは、 xamGantt ProjectTask クラス、その構成可能な項目およびこのクラスが提供する主要機能を説明します。