任务类型
信息
此功能仅在 PRO 版本中可用。
在甘特图中可以显示三种预定义的任务类型(你也可以添加自定义类型)you can also add a custom type:

要设置任务的类型,请使用数据项的 type 属性(值存储在 types 对象中):
在数据集中指定任务的类型
const data = {
tasks: [
{ id: 1, text: "Project #1", type: "project", open: true },
{ id: 2, text: "Task #1", start_date: "12-04-2025", duration: 3, parent: 1 },
{ id: 3, text: "Alpha release", start_date: "16-04-2025", type: "milestone", parent: 1 },
{ id: 4, text: "Task #2", start_date: "17-04-2025", duration: 3, parent: 1 },
],
links: [
{ id: 1, source: "1", target: "2", type: "1" },
{ id: 2, source: "2", target: "3", type: "0" },
{ id: 3, source: "3", target: "4", type: "0" },
],
};
相关示例: Projects and milestones
常规任务
默认情况下,dhtmlxGantt 提供创建常规任务(type="task" 的任务)。

指定常规任务
const data = {
tasks: [
{ id: 2, text: "Task #1", start_date: "12-04-2025", duration: 3, parent: 1 },
],
links: [],
};
//或
const data = {
tasks: [
{ id: 2, text: "Task #1", start_date: "12-04-2025", duration: 3, parent: 1, type: "task" },
],
links: [],
};
相关示例: Projects and milestones
具有 type="task" 的任务可具备如下特征:
- 可以有一个父任务和任意数量的子任务。
- 可以被拖拽和调整大小。
- 不依赖子任务,即如果用户拖动普通任务的某个子任务,该任务的持续时间或进度不会相应改变。
- 可以出现在父级项目中。详见 详细信息。
- 可以在时间线中隐藏。详见 详细信息。
项目任务
项目任务是在其最早子任务开始时开始、在其最后一个子任务结束时结束的任务。
注释
项目任务与常规任务的区别在于,项目任务的持续时间取决于其子任务,并会相应地改变。

指定项目任务
const data = {
tasks: [
{ id: 1, text: "Project #1", type: "project", open: true },
{ id: 2, text: "Task #1", start_date: "12-04-2025", duration: 3, parent: 1 },
{ id: 3, text: "Alpha release", start_date: "16-04-2025", type: "milestone", parent: 1 },
{ id: 4, text: "Task #2", start_date: "17-04-2025", duration: 3, parent: 1 },
],
links: [],
};
相关示例: Projects and milestones
具有 type="project" 的任务可具备如下特征:
- 可以有 1 个父任务和任意数量的子任务。
- 除非通过 drag_project 配置显式启用拖放,否则不能被拖拽和调整大小。
- 依赖子任务,即如果用户拖动一个项目任务的子任务,任务的持续时间会改变。
- 忽略 start_date、end_date、duration 属性。
- 如果没有子任务,则不能被拖拽。
- 项目的 progress 默认显式指定,与子任务无关。若你希望自动计算,需要自行编写代码实现。 查看示例。
注释
如需提供添加项目任务的可能性,请参阅文章 Milestone。添加里程碑的可能性确保最终用户也可以添加项目任务。
Milestones
Milestone 是一个零持续时间的任务,用来标记项目的重要日期(更多详情请参阅](guides/milestones.md)。

指定里程碑
const data = {
tasks: [
{ id: 3, text: "Alpha release", start_date: "16-04-2025", type: "milestone", parent: 1 },
],
links: [],
};
相关示例: Projects and milestones
具有 type="milestone" 的任务可具备如下特征:
- 可以有 1 个父任务和任意数量的子任务。
- 不能被拖拽和调整大小。
- 持续时间为零,并始终保持为零。
- 忽略 end_date、duration、progress 属性。
- 可以出现在父级项目中。详见 details。
- 可以在时间线中隐藏。详见 details。
注释
为了提供添加里程碑的可能性,请阅读文章 Milestone。