Робота з завданнями

Microsoft Project має структуру контуру, яка дозволяє користувачам швидко оглядати проект. Aspose.Tasks для C ++ API підтримує цю функціональність і дозволяє розробникам контролювати кількість контуру - де завдання відображається в ієрархії - і рівні контуру - який рівень ієрархії виконує завдання.

Робота з контурними властивостями

Клас TSK розкриває властивості OutlineNumber та OutlineLevel для управління контурами, пов’язаними з класом:

  1. Окрім кількості (струна).
  2. OutlineLevel (ціле число).

Порядки в Microsoft Project

У проекті Microsoft номер контуру та властивості рівня контуру можна переглянути у формі запису завдань, додавши стовпці:

  1. У меню вставити виберіть стовпці.
  2. Додайте стовпчики, що знаходяться в курсі.

Отримання контуру властивостей у aspose.tasks

Наступний приклад показує, як отримати рівень контуру та інформацію про номер про завдання за допомогою 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}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.