updateTask

更新指定的任务

void updateTask(string|number id, [Task newState] );
idstring|number任务ID
newStateTask可选,任务的新值

Example

var taskId = gantt.addTask({
    id:10,
    text:"Task #10",
    start_date:"02-04-2013",
    duration:8,
    parent:1
});
 
gantt.getTask(taskId).text = "Task #13"; // 修改任务数据
gantt.updateTask(taskId); // 应用更改并刷新任务

Details

该方法会触发 onAfterTaskUpdate 事件。

如果启用了 dataProcessor,该方法也会激活它。

该方法应在修改任务对象后调用。它会更新甘特图的内部状态,刷新相关的 UI 部分,并将更新的信息发送到后端。

调用时,会触发 onAfterTaskUpdate 事件,从而可以启动进一步的重新计算。

如果您正在使用 DataProcessor,调用此方法将向服务器发送更新请求。

对于只需视觉更新而无需保存的情况,请使用 refreshTask 方法。该方法会刷新任务的显示,但不会触发额外的计算。

gantt.templates.task_class = function(start, end, task){
    if(task.$active) {
        return "active_task";
    }
};
 
gantt.attachEvent("onTaskClick", function(id,e){
    gantt.getTask(id).$active = true;
    gantt.refreshTask(id); });

另外,您也可以通过向 updateTask 方法传递新的任务对象作为第二个参数来更新任务:

var task = {
    id: 2, text: 'New task text', 
    start_date: new Date(2025,03,02), 
    end_date: new Date(2025,03,04), 
    $source: [1], 
    $target: [2]
}
gantt.updateTask(2,task);

Related sample:  Updating task

See also
Back to top