親と子のタスク
Contents
[
Hide
Show
]タスクは階層で整理できます。タスクにその下に1つ以上のタスクがある場合、それらは親と呼ばれます。下のタスクは親と呼ばれます。
親のタスクと子供を扱う
タスククラスは、あなたが決定するのに役立つクラスを公開します。
- 親:タスクが親タスクであると判断します。タスクオブジェクトを受け入れて返します。
- 子供:タスクは子のタスクであると判断します。タスクオブジェクトの配列リストを受け入れて返します。
Microsoftプロジェクトの親と子のタスク
マイクロソフトプロジェクトの親または子のタスクとしてタスクを宣言するには:
- タスクエントリフォームで、タスクを選択してクリックします。
- outsentを選択して、タスクを親に変えるか、
- indentを選択して、タスクを子供に変換します。
マイクロソフトプロジェクトの親タスクと子供
親と子のタスクを取得する
次の例は、Aspose.Tasksを使用してプロジェクトで親と子のタスクを表示することを示しています。
1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir(ParentAndChildTasks.class);
4
5Project prj = new Project(dataDir + "ParentAndChildTask.mpp");
6
7// Create a ChildTasksCollector instance
8ChildTasksCollector collector = new ChildTasksCollector();
9
10// Use TaskUtils to get all children tasks in RootTask
11TaskUtils.apply(prj.getRootTask(), collector, 0);
12
13List tasks = collector.getTasks();
14int iSize = tasks.size();
15// Parse through all the collected tasks
16for (int i = 0; i < iSize; i++) {
17 Task tsk = (Task) tasks.get(i);
18 System.out.println("Task Name = " + tsk.get(Tsk.NAME));
19}
Setting Child Tasks
1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
2// The path to the documents directory.
3String dataDir = Utils.getDataDir(ParentAndChildTasks.class);
4
5Project proj = new Project(dataDir + "Blank2010.mpp");
6proj.set(Prj.NEW_TASKS_ARE_MANUAL, new NullableBool(false));
7double oneDay = 8d * 60d * 60d * 10000000d;
8java.util.Calendar cal = java.util.Calendar.getInstance();
9cal.set(2014, 9, 13, 8, 0, 0);
10Date startDate = cal.getTime();
11proj.set(Prj.START_DATE, startDate);
12
13Task task1 = proj.getRootTask().getChildren().add("Task 1");
14cal.set(2014, 9, 13, 8, 0, 0);
15task1.set(Tsk.START, cal.getTime());
16task1.set(Tsk.DURATION, proj.getDuration(29, TimeUnitType.Day));
17Task task2 = proj.getRootTask().getChildren().add("Task 2");
18
19// add child tasks to task 2
20Task task3 = task2.getChildren().add("Task 3");
21Task task4 = task2.getChildren().add("Task 4");
22
23cal.set(2014, 9, 15, 8, 0, 0);
24task3.set(Tsk.START, cal.getTime());
25task3.set(Tsk.DURATION, proj.getDuration(3, TimeUnitType.Day));
26task3.set(Tsk.CONSTRAINT_TYPE, ConstraintType.StartNoEarlierThan);
27task3.set(Tsk.CONSTRAINT_DATE, task3.get(Tsk.START));
28
29cal.set(2014, 9, 17, 8, 0, 0);
30task4.set(Tsk.START, cal.getTime());
31task4.set(Tsk.DURATION, proj.getDuration(3, TimeUnitType.Day));
32task4.set(Tsk.CONSTRAINT_TYPE, ConstraintType.StartNoEarlierThan);
33task4.set(Tsk.CONSTRAINT_DATE, task3.get(Tsk.START));
34
35task3.set(Tsk.PERCENT_COMPLETE, 50);
36task4.set(Tsk.PERCENT_COMPLETE, 70);
37
38proj.save(dataDir + "ProjectJava.mpp", SaveFileFormat.MPP);