並べ替えは、指定した順序でデータを表示するために役立ち、データ管理には重要な要件です。GanttView コントロールでは、GanttView ツールバーの[並べ替え]ボタンにあるさまざまなソートオプションを使用し、タスク名、開始日/終了日、および期間に基づいてタスクを並べ替えできます。
Lets discuss how you can apply sorting in GanttView.
To apply sorting in GanttView, you can use SortTasks method of the C1GanttView class. The SortTasks method has two overloads which are discussed in the following table.
Overload | Description |
---|---|
SortTasks(System.Collections.Generic.IComparer<C1.GanttView.Task> nextComparer) | Sorts all the tasks by given comparer. |
SortTasks(System.ComponentModel.PropertyDescriptor prop, System.ComponentModel.ListSortDirection direction) | Sorts all the tasks by specific property and order direction. |
Use the following code to apply sorting in GanttView. Here, GanttView tasks are sorted in an ascending order on the basis of their names.
C# |
コードのコピー
|
---|---|
var propertyDescriptors = TypeDescriptor.GetProperties(typeof(Task)); gv.SortTasks(propertyDescriptors["Name"], ListSortDirection.Ascending); |
Alternatively, you can apply sorting using the Sort button on the Toolbar. The Sort button opens the Sort menu which provides various options described in the following table:
ソートのオプション | 説明 |
名前順 | タスクをタスク名のアルファベット順に並べ替えできます。 |
開始日順 | タスクを開始日で並べ替えできます。 |
終了日順 | タスクを終了日で並べ替えできます。 |
期間順 | 各タスクに割り当てられた期間でタスクを並べ替えできます。 |
並べ替えの削除 | 既存の並べ替え条件を削除できます。 |
並べ替え... | 複数列並べ替えを実行できます。 |
To clear sorting and return to the default view, you can use RemoveSort method of the C1GanttView class. The RemoveSort method clears all the sorting applied to the tasks as demonstrated in the following code.
C# |
コードのコピー
|
---|---|
gv.RemoveSort(); |
GanttView provides various options for sorting the tasks in ascending or descending order as per your needs. However, there might be a scenario where you would want to apply your own custom sorting.
To implement custom sorting in the GanttView control, follow these steps. The following example sorts the tasks according to the increasing length of task names on a button click event.
C# |
コードのコピー
|
---|---|
public class CustomComparer : IComparer<Task> { public int Compare(Task x, Task y) { if (x.Name.Length > y.Name.Length) { return 1; } else if (x.Name.Length < y.Name.Length) { return -1; } else { return 0; } } } |
C# |
コードのコピー
|
---|---|
private void Sort_BtnClick(object sender, RoutedEventArgs routedEventArgs) { CustomComparer customComparer = new CustomComparer(); gv.SortTasks(customComparer); } |
GanttView では、ツールバーの[並べ替え]ボタンの下にあるオプションを使用して、複数列の並べ替えを実行できます。複数列の並べ替えを実行するために、GanttView には[並べ替え]ダイアログが用意されています。ここで、実行時に複数の列に並べ替え順を設定できます。
次の図は、GanttView で複数列の並べ替えを実装する方法を示しています。