GanttView for WPF
フィルター処理

GanttView は、実行時に特定のタスクやリソースを表示するために役立つフィルター処理をサポートします。フィルターを適用して、完了タスク、未完了タスク、遅延中のタスク、マイルストーン、指定した期間内のタスク、特定のリソースを使用するタスクなどを表示できます。

GanttView provides various classes such as IncompleteTasksFilterCompletedTasksFilter, MilestoneTasksFilter, SummaryTasksFilter, etc., to apply filtering based on different criteria. For instance, you can use IncompleteTasksFilter class to filter out all the incomplete tasks from a project's schedule as demonstrated in the following code.  

C#
コードのコピー
IncompleteTasksFilter filter = new IncompleteTasksFilter();
gv.ApplyFilter(filter); 

Alternatively, you can apply filtering at runtime using the Filter button on the Toolbar. The Filter button opens the Filter menu which provides various filtering options to suit your requirements.

filtering options

次の表で、GanttView にあるフィルターオプションについて説明します。

フィルターオプション 説明
フィルターなし 既存のフィルターを削除できます。
完了したタスク 完了タスクをフィルター処理して表示できます。
期間 指定した期間内のタスクをフィルター処理して表示できます。
未完了のタスク 未完了タスクをフィルター処理して表示できます。
遅れたタスク 遅れたタスクをフィルター処理して表示できます。
マイルストーン プロジェクトスケジュール内のマイルストーンをフィルター処理して表示できます。
期間のタスクのみ 期間付きのタスクだけをフィルター処理して表示できます。
リソースの使用 特定のリソースに割り当てられたタスクをフィルター処理できます。
高度なフィルター [詳細]ダイアログからカスタムフィルターを作成して適用できます。
その他のフィルター 新しいカスタムフィルターを作成できます。

Custom Filter

Besides the default filtering options, the GanttView control also enables you to create custom filters to suit your business needs. It provides classes such as ConditionTaskFilter and AdvancedFilter which can be used to filter tasks based on various conditions.

For instance, you may want to filter tasks scheduled within a specific date range as demonstrated in the following code. Here, we used FilterFieldTestOperator, and FilterValue properties of the ConditionTaskFilter to set the condition for filtering the tasks greater than the specified date. This example uses the sample created in Quick Start.

C#
コードのコピー
AdvancedFilter filter = new AdvancedFilter();
// 2022年3月15日から始めるタスクをフィルター処理します。
ConditionTaskFilter startCondition = new ConditionTaskFilter();
startCondition.FilterField = FilterField.Start;
startCondition.TestOperator = TestOperators.IsGreaterThan;
startCondition.FilterValue = new DateTime(2022, 3, 15);
filter.Conditions.Add(startCondition);

// 2022年4月15日前または5月10日に終了するタスクをフィルター処理します。
ConditionTaskFilter finishCondition = new ConditionTaskFilter();
finishCondition.FilterField = FilterField.Finish;
finishCondition.TestOperator = TestOperators.IsLessThan;
finishCondition.FilterValue = new DateTime(2022, 4, 15);
filter.Conditions.Add(finishCondition);
gv.ApplyFilter(filter); 

Alternatively, you can also use Advanced Filter dialog to apply advanced filtering in GanttView. For more information, see Advanced filter dialog.