Déplacement des tâches
Dans Microsoft Project, les tâches peuvent être déplacées au sein de la hiérarchie des tâches pour refléter des changements dans la structure du projet.
- Déplacer une tâche sous un nouveau parent déplace également toutes ses tâches enfants.
- Aspose.Tasks for .NET fournit des APIs pour reproduire ce comportement de manière programmatique.
Déplacer une tâche sous un autre parent
Aspose.Tasks permet de réaffecter une tâche à un nouveau parent. Cela est utile lors de la réorganisation des hiérarchies de projet.
Pour de meilleures performances lors du déplacement de plusieurs tâches, définissez le mode de calcul du projet sur
CalculationMode.None
et appelez Recalculate une seule fois après que tous les déplacements sont terminés.
Exemple :
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);
Cet exemple montre comment déplacer une tâche sous un autre parent.
Déplacer une tâche sous le même parent
Si vous devez réordonner des tâches sous le même parent, utilisez MoveToSibling méthode.
Exemple :
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);
Cet exemple montre comment déplacer une tâche vers une nouvelle position au sein du même parent.
Ajouter une tâche à la fin
Lors de l’ajout ou du déplacement de tâches, vous pouvez les ajouter à la fin d’une collection en utilisant -1
comme indice cible.
Exemple :
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);
Cet exemple déplace une tâche à la fin de la liste de tâches de son parent.
Points clés
- Réorganisation de la hiérarchie est courant lors des mises à jour et de la restructuration du projet.
- Optimisation des performances est recommandé lors du déplacement de plusieurs tâches — désactivez le recalcul automatique jusqu’à ce que tous les changements soient appliqués.
- Les tâches enfants sont toujours déplacées ensemble avec leur tâche parente lorsqu’elles sont réaffectées.
- Fonctionne parfaitement avec les deux MPP and XML formats.
Foire aux questions
Q : Lorsque je déplace une tâche sous un autre parent, ses tâches enfants seront-elles également déplacées ?
- Oui. Toutes les tâches enfants sont automatiquement déplacées avec la tâche parente.
Q : Comment puis-je déplacer plusieurs tâches efficacement ?
- Utilisez
CalculationMode.None
avant de déplacer les tâches, puis appelezRecalculate()
une fois après toutes les opérations.
Q : Puis-je réordonner des tâches sans changer leur parent ?
- Oui. Utilisez la
MoveToSibling
méthode pour changer la position d’une tâche sous le même parent.
Q : Cette fonctionnalité fonctionne-t-elle avec les formats de projet MPP et XML ?
- Oui. Les opérations sur la hiérarchie des tâches sont prises en charge de manière cohérente dans tous les formats gérés par Aspose.Tasks.