2016-03-07 2 views
0

Я создаю планировщик, и я включил в него диаграмму Ганта. Моя проблема заключается в том, что я пытаюсь создать расписание, которое начнется 31 марта 2016 года, и оно закончится 15 апреля 2016 года. Но моя проблема в том, что мой график не отображается в следующем месяце.Как продлить отображение даты диаграммы Ганта с помощью DHTMLX Gantt?

Мой процесс, по умолчанию мой график будет загружать текущий месяц с его первым и последним днем ​​и отображаться по дням.

Вот мой пример кода:

//get first and last day of current month 
var parsed = Date.parse("today"); 
var firstOfMonth = new Date(parsed.getFullYear(),parsed.getMonth(), 1); 
var lastOfMonth = new Date(parsed.getFullYear(),parsed.getMonth()+1, 0); 
var f_firstOfMonth = firstOfMonth.toString("yyyy-MM-dd"); 
var f_lastOfMonth = lastOfMonth.toString("yyyy-MM-dd"); 

//assign to the empty gantt 
$(".mygantt").dhx_gantt({ 
    data: '', 
    start_date: f_firstOfMonth, 
    end_date: f_lastOfMonth, 
    scale_height: 50, 
    scale_unit: "day",   
}); 

Можете ли вы помочь мне с этим? Я использую this example here.

+0

по следующим ссылкам: первый флажок [Образцы ссылки] (http://docs.dhtmlx.com/gantt/samples/). Затем выберите [03 шкалы] (http://docs.dhtmlx.com/gantt/samples/03_scales/). Существует много вариантов, которые вы можете использовать для этой цели. Я рекомендую динамическую шкалу, шкалу года, шкалу автоматического изменения размера, пользовательский масштаб или даже масштабирование по шкале (возможно, ваш любимый IMHO). Проверьте код любого из них (F12 в Google Chrome) или проверьте связанные темы на своих [форумах] (http://forum.dhtmlx.com/index.php). – Tpojka

ответ

0

Итак, вы хотите отображать текущий месяц по умолчанию, а затем отрегулировать отображаемый диапазон по мере добавления новых задач?

Диапазон временной шкалы может быть задан start_date и end_date конфигурациями, которые могут быть изменены динамически, эти изменения будут применены после полного перерисовки gantt.

Так что вы можете сделать:

  • Добавить обработчик onBeforeGanttRender событие, которое вызывается перед полной перерисовки Ганта. Это хорошая точка входа для таких настроек.

  • Внутри обработчика вы можете получить диапазон дат заданий с использованием gantt.getSubtaskDates и обновление start_date/дата_окончания конфиги соответственно

  • Каждый раз, когда пользователь добавляет, обновляет или удаляет задачу вам необходимо вызвать полную перерисовку Ганта

  • Вам не нужно start_date/дата_окончания конфиги во данных нагрузки, так как они будут отфильтровывать задачи, которые расположены за пределами текущего месяца

Вот полный Demo http://docs.dhtmlx.com/gantt/snippet/7d86e912

Смежные вопросы