start_date

定义时间刻度的起始点

Date|undefined start_date;

Example

gantt.config.start_date = new Date(2018, 08, 10);
gantt.config.end_date = new Date(2018, 08, 20);
 
gantt.init("gantt_here");

Details

要正确使用 start_date 选项,应与 end_date 选项配合使用。

下面示例展示了如何动态扩展时间范围:

gantt.attachEvent("onLightboxSave", function(id, task, is_new){
 var taskStart = task.start_date;
 var taskEnd = task.end_date;
 var scaleStart = gantt.config.start_date;
 var scaleEnd = gantt.config.end_date;
 
 // 如果任务超出当前范围
 if(scaleStart > taskEnd || scaleEnd < taskStart ){
  // 更新时间刻度边界
  gantt.config.end_date=new Date(Math.max(taskEnd.valueOf(), scaleEnd.valueOf()));
  gantt.config.start_date=new Date(Math.min(taskStart.valueOf(),scaleStart.valueOf()));
  gantt.render();
 }    
 return true;
});

或者,你也可以在 lightbox 中添加校验,阻止范围外的任务:

gantt.attachEvent("onLightboxSave", function(id, task, is_new){
    var taskStart = task.start_date;
    var taskEnd = task.end_date;
    var scaleStart = gantt.config.start_date;
    var scaleEnd = gantt.config.end_date;
 
    // 验证任务是否超出允许的范围
    if(scaleStart > taskEnd || scaleEnd < taskStart ){
        gantt.message({
            type:"warning", 
            text:"警告!任务超出日期范围!",
            expire:5000
        });
          return false;
    } 
    return true;
});
See also
Back to top