Переміщення завдань
У Microsoft Project завдання можна переміщувати в межах ієрархії завдань, щоб відобразити зміни в структурі проєкту.
- Переміщення завдання під нового батька також переміщує всі його дочірні завдання.
- Aspose.Tasks for .NET надає API для відтворення цієї поведінки програмно.
Переміщення завдання під іншого батьківського елемента
Aspose.Tasks дозволяє призначати завдання новому батьківському елементу. Це корисно при реорганізації ієрархії проєкту.
Для кращої продуктивності під час переміщення кількох завдань встановіть режим обчислень проєкту на
CalculationMode.None
і викличте Recalculate лише один раз після завершення всіх переміщень.
Приклад:
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);
У цьому прикладі демонструється, як перемістити завдання під інше батьківське завдання.
Переміщення завдання під того ж батька
Якщо потрібно змінити порядок завдань під тим самим батьком, використовуйте MoveToSibling метод.
Приклад:
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);
У цьому прикладі показано, як перемістити завдання на нову позицію в межах того ж батьківського елемента.
Додавання завдання в кінець
При додаванні або переміщенні завдань можна додати їх у кінець колекції, використовуючи -1
як цільовий індекс.
Приклад:
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);
У цьому прикладі завдання переміщується в кінець списку завдань батьківського елемента.
Ключові моменти
- Реорганізація ієрархії є поширеною під час оновлень та реструктуризації проєкту.
- Оптимізація продуктивності рекомендується при переміщенні кількох завдань — вимкніть автоматичне перерахування, доки не будуть застосовані всі зміни.
- Дочірні завдання завжди переміщуються разом з їхнім батьківським завданням під час переназначення.
- Працює бездоганно з обома форматами MPP і XML.
Поширені запитання
П: Коли я переміщую завдання під іншого батьківського елемента, чи перемістяться також його дочірні завдання?
- Так. Усі дочірні завдання автоматично переміщуються разом із батьківським завданням.
П: Як я можу ефективно перемістити кілька завдань?
- Використовуйте
CalculationMode.None
перед переміщенням завдань, а потім викличтеRecalculate()
один раз після завершення всіх операцій.
П: Чи можу я змінити порядок завдань, не змінюючи їхнього батька?
- Так. Використовуйте
MoveToSibling
метод, щоб змінити положення завдання під тим самим батьківським елементом.
П: Чи працює ця функціональність з форматами проєкту MPP і XML?
- Так. Операції з ієрархією завдань послідовно підтримуються у всіх форматах, які обробляє Aspose.Tasks.