Обновление диапазона просмотра в Gantt при загрузке формы - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь использовать контроль Ганта в D365 FO как способ визуализации встреч в комнатах. Поэтому комнаты загружаются в виде сводок, а встречи связаны как мероприятия с комнатами.

Пользователь может выбрать встречу в сетке. Когда это происходит, диапазон просмотра должен быть изменен, чтобы показать интервал [начало-12, конец + 12], и встречи вместе с их комнатами должны быть добавлены к Гантту.

Код выглядит примерно так:

// changes FromDateTime, ToDateTime in gantt control
this.setViewRange(); 

// adds rooms and appointments to a list
// and adds them to the gantt by calling parmActivities(theList) on the gantt control
this.addAppointments();

// standard method to refresh the gantt
ganttControl.refresh(); 

По какой-то причине Гант адаптируется только к изменениям представления для встречи, выбранной при загрузке формы. Любые дальнейшие попытки изменить диапазон просмотра путем изменения выбора не удаются, и Гант не реагирует на изменение.

При перемещении Ганта в отдельную форму диапазон просмотра устанавливается в соответствии с ожиданиями для инициализации.

Что-то мне не хватает при работе с Гантсом?

1 Ответ

0 голосов
/ 29 августа 2018

По какой-то причине GanttControl не позволяет изменять непосредственно после инициализации, вызывая

ganttControl.parmConfiguration().parmFromDateTime(foo);

Вместо этого вам сначала нужно создать объект GanttControlConfiguration. Следующий код решает проблему:

GanttControlConfiguration configuration = ganttControl.parmConfiguration();
configuration.parmAllowMultiChange(true);
configuration.parmFromDateTime(foo);
configuration.parmToDateTime(bar);
ganttControl.parmConfiguration(configuration);
...