Verschieben von Aufgaben
In Microsoft Project können Aufgaben innerhalb der Aufgabenhierarchie verschoben werden, um Änderungen in der Projektstruktur widerzuspiegeln.
- Das Verschieben einer Aufgabe unter eine neue Elternaufgabe verschiebt auch alle ihre Unteraufgaben.
- Aspose.Tasks for .NET stellt APIs bereit, um dieses Verhalten programmgesteuert nachzubilden.
Eine Aufgabe unter eine andere Elternaufgabe verschieben
Aspose.Tasks ermöglicht, eine Aufgabe einem neuen Elternknoten zuzuordnen. Dies ist nützlich bei der Neuorganisation von Projektstrukturen.
Für bessere Leistung beim Verschieben mehrerer Aufgaben setzen Sie den Berechnungsmodus des Projekts auf
CalculationMode.None
und rufen Sie Recalculate nur einmal auf, nachdem alle Verschiebungen abgeschlossen sind.
Beispiel:
1Project project = new Project("New Project.mpp");
2project.CalculationMode = CalculationMode.Automatic;
3// Get Tasks by Ids
4Task task1 = project.RootTask.Children.GetByUid(6);
5Task task2 = project.RootTask.Children.GetByUid(3);
6// Adding Task 6 to another parent
7task2.Children.Add(task1);
8project.Save("MoveTaskUnderAnotherParent_out.mpp", SaveFileFormat.MPP);
Dieses Beispiel zeigt, wie man eine Aufgabe unter eine andere Elternaufgabe verschiebt.
Eine Aufgabe unter demselben Elternknoten verschieben
Wenn Sie Aufgaben unter demselben Elternknoten neu anordnen müssen, verwenden Sie die MoveToSibling Methode.
Beispiel:
1Project project = new Project("New Project.mpp");
2// Move tasks with id 5 before task with id 3
3Task task = project.RootTask.Children.GetById(5);
4task.MoveToSibling(3);
5project.Save("MoveTaskUnderSameParent_out.mpp", SaveFileFormat.MPP);
Dieses Beispiel zeigt, wie man eine Aufgabe innerhalb desselben Elternknotens an eine neue Position verschiebt.
Eine Aufgabe ans Ende hinzufügen
Beim Hinzufügen oder Verschieben von Aufgaben können Sie diese ans Ende einer Sammlung anhängen, indem Sie -1
als Zielindex verwenden.
Beispiel:
1Project project = new Project("New Project.mpp");
2// Move tasks with id 2 to the end of the collection
3Task task = project.RootTask.Children.GetById(2);
4task.MoveToSibling(-1);
5project.Save("MoveTaskAtTheEnd_out.mpp", SaveFileFormat.MPP);
Dieses Beispiel verschiebt eine Aufgabe ans Ende der Aufgabenliste ihres Elternteils.
Wichtige Hinweise
- Umstrukturierung der Hierarchie kommt häufig bei Projektaktualisierungen und Umstrukturierungen vor.
- Leistungsoptimierung wird empfohlen, wenn mehrere Aufgaben verschoben werden — deaktivieren Sie die automatische Neuberechnung, bis alle Änderungen angewendet sind.
- Unteraufgaben werden immer zusammen verschoben mit ihrer Elternaufgabe, wenn diese neu zugewiesen wird.
- Funktioniert nahtlos sowohl mit MPP and XML formats.
FAQ
Q: When I move a task under another parent, will its child tasks move too?
- Yes. All child tasks are moved automatically with the parent task.
Q: How can I move multiple tasks efficiently?
- Verwenden Sie
CalculationMode.None
bevor Sie Aufgaben verschieben, rufen Sie dannRecalculate()
einmal nach Abschluss aller Vorgänge.
Q: Can I reorder tasks without changing their parent?
- Yes. Use the
MoveToSibling
method to change a task’s position under the same parent.
Q: Does this functionality work with both MPP and XML project formats?
- Yes. Task hierarchy operations are supported consistently across all formats handled by Aspose.Tasks.