travail avec des tâches
Microsoft Project a une structure de contour qui permet aux utilisateurs d’avoir un aperçu rapide d’un projet. Aspose.Tasks pour l’API C ++ prend en charge cette fonctionnalité et permet aux développeurs de contrôler le numéro de contour - où la tâche apparaît dans une hiérarchie - et le niveau de contour - quel niveau de hiérarchie dans laquelle se trouve la tâche.
Travailler avec les propriétés de contour
La classe TSK expose les propriétés OutlineNumber et OutlineLevel pour gérer les contours associés à une classe:
- OutlineNumber (String).
- Outlinelevel (entier).
Course dans Microsoft Project
Dans Microsoft Project, les propriétés du numéro de contour et du niveau de contour peuvent être consultées sur le formulaire d’entrée de tâche en ajoutant les colonnes:
- Dans le menu INSERT, sélectionnez Colonnes.
- Ajoutez les colonnes OutlineNumber et Outlinelevel.
Obtenir des propriétés de contour dans Aspose.Tasks
L’exemple suivant montre comment obtenir le niveau de contour et les informations sur le numéro de ligne sur une tâche à l’aide d’Aspose.Tasks.
1// Read project from file stream
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3System::SharedPtr<System::IO::FileStream> fs = System::MakeObject<System::IO::FileStream>(dataDir + u"TaskOutlineProperties.mpp", System::IO::FileMode::Open);
4System::SharedPtr<Project> prj = System::MakeObject<Project>(fs);
5fs->Close();
6
7// Create a ChildTasksCollector instance
8System::SharedPtr<ChildTasksCollector> collector = System::MakeObject<ChildTasksCollector>();
9
10// Collect all the tasks from RootTask using TaskUtils
11TaskUtils::Apply(prj->get_RootTask(), collector, 0);
12
13// Parse through all the collected tasks
14
15{
16 auto tsk1_enumerator = (collector->get_Tasks())->GetEnumerator();
17 decltype(tsk1_enumerator->get_Current()) tsk1;
18 while (tsk1_enumerator->MoveNext() && (tsk1 = tsk1_enumerator->get_Current(), true))
19 {
20 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Level : " + tsk1->Get<int32_t>(Tsk::OutlineLevel()));
21 System::Console::WriteLine(tsk1->Get(Tsk::Name()) + u" - Outline Number : " + tsk1->Get(Tsk::OutlineNumber()));
22 }
23}