Aufgaben sortieren nach Namen
Bei der Arbeit mit Projektdaten unter Verwendung von Aspose.Tasks für .NET müssen häufig Aufgaben in einer bestimmten Reihenfolge für Analyse oder Anzeige organisiert werden. Ein gemeinsamer Ansatz ist die sortierende Aufgaben alphabetisch nach ihren Namen. In diesem Leitfaden wird erläutert, wie das geht, indem ein benutzerdefinierter Vergleich implementiert wird.
Implementierung eines benutzerdefinierten Vergleichs
Definieren Sie eine Klasse, die die “iComparer
1private class TaskNameComparer : IComparer<Task>
2{
3 public int Compare(Task x, Task y)
4 {
5 if (string.IsNullOrEmpty(x.Get(Tsk.Name)))
6 return 1;
7 if (string.IsNullOrEmpty(y.Get(Tsk.Name)))
8 return -1;
9 return x.Get(Tsk.Name).CompareTo(y.Get(Tsk.Name));
10 }
11}
This logic ensures tasks without names are placed at the end of the list.
Collecting and Sorting Tasks
Load a project and collect its tasks using ChildTasksCollector
. Then apply the custom comparer to sort them:
1Project project = new Project("New Project.mpp");
2ChildTasksCollector coll = new ChildTasksCollector();
3TaskUtils.Apply(project.RootTask, coll, 0);
4List<Task> tasks = coll.Tasks;
5
6tasks.Sort(new TaskNameComparer());
7
8foreach (Task task in tasks)
9{
10 Console.WriteLine(task);
11}
Der „ChildTasksCollector“ vereinfacht die Aufgabenhierarchie in einer Liste und erleichtert so die Arbeit. Nach der Sortierung werden die Aufgaben alphabetisch nach Namen angezeigt.
Zusammenfassung
Das Sortieren von Aufgaben nach Namen vereinfacht die Berichterstellung, Filterung und UI-Darstellung. Mit einem einfachen benutzerdefinierten Vergleicher und den Aufgabensammlungs-Tools in Aspose.Tasks lässt sich dieser Prozess problemlos in .NET-Workflows integrieren.