活字格 12.1 新功能解密:DHTMLX 甘特图 7 项提升全盘点(含 1 处升级必读变更)
开篇:从"能用"到"好用",这一轮升级有点猛
DHTMLX 甘特图插件自发布以来,一直是活字格里呼声很高的单元格类型——尤其是制造业、项目型企业的排产排期场景,几乎绕不开它。
但用得深了,几个绕不过去的坎也慢慢浮出水面:
- 想改个任务类型名,结果更新逻辑直接失效
- 页面上放了甘特图,跳到另一个页面,主题色被"传染"了
- 里程碑任务只能看不能建,添加得绕道数据表
- 一个页面只能放一个甘特图,想做多项目对比就得开新页面
- 几十个任务要改负责人,只能一个一个点
活字格 V12.1 这一轮,把这些坎基本都填上了,一共 7 项增强。逐条看。
一、先上总览:7 项增强速查表

一句话总结这次升级的方向:以前是"把甘特图放上去能用",现在是"甘特图能真正长进你的业务里"。
二、支持自定义 gantt.config.types:改名字不再"改崩"
旧版本的坑
旧版本里,甘特图用固定字段来区分项目(Project)、里程碑(Milestone)和普通任务(Task)。这意味着:
你只要动一下
gantt.config.types,更新逻辑就会失效。
而"把 project 改成『计划』、milestone 改成『里程碑』“恰恰是国内项目里最朴素的需求——总不能跟车间主任说"你这个是一个 project”。
新版本的做法
V12.1 重构了底层逻辑,完全支持自定义 types,任务类型名称可以随心定义:
定义好之后,添加对应类型的任务,甘特图能正确识别并渲染:

📷 配图建议:甘特图效果图,用箭头分别标注绿色大项目条「计划」和紫色菱形「里程碑」
更关键的一点:前后端完全一致
这不只是"显示改了"。当你获取甘特图数据时,返回的 **type 字段值也会同步变成你自定义的内容**:
前端显示、命令参数、回传数据三者用同一套类型名——这一点很重要,它意味着你不用在业务逻辑里再做一层"中文名 ↔ 英文 key"的映射转换了。
三、里程碑任务:终于能建、能改了
这一条是呼声很高的功能,也应该是本轮提升里体感最强的一项。
旧版本
里程碑基本是个"只读"的存在——你可以在数据表里造一条出来让甘特图显示,但在界面上创建和更新它,做不到。
新版本
里程碑任务已完全支持创建和更新,两条路径:
路径 1:顶部工具栏
通过甘特图顶部的 「添加任务」 按钮,直接添加里程碑类型的任务。
📷 配图建议:甘特图顶部工具栏,圈出「添加任务」按钮
路径 2:甘特图自带操作
使用甘特图的自带操作(拖拽、行内新增等)去添加和更新任务。
⚠️ 配套提醒:自定义类型后,命令参数也要跟着变
这条是官方特别提示的,很容易踩:
当你使用了功能一(自定义 **
gantt.config.types)之后,用命令添加任务时,任务类型也要使用你自定义的类型名称**,而不是默认的"project"/"milestone"。
简单记:自定义 types 之后,全链路都只认你起的名字。
四、一页多个甘特图单元格:多项目同屏对比
旧版本的限制
过去每个页面只能放一个甘特图。
想同时看"1 号线排产"和"2 号线排产"?对不起,开两个页面,来回切。
新版本
现在同一页面中可以同时使用多个甘特图单元格,而且:
- 每个甘特图独立绑定数据源
- 每个甘特图独立配置
- 彼此互不干扰
📷 配图建议:一个页面上纵向排列两个甘特图,分别标注"1 号线排产"“2 号线排产”
典型适用场景:

对制造业的多产线排产、项目型企业的多项目看板来说,这一条的价值是立竿见影的。
五、修复主题色污染:页面的"视觉串味"问题
旧版本的现象
一个很隐蔽但很烦人的问题:
页面 A 的甘特图设置了主题色 → 跳转到页面 B → 页面 B 的甘特图没有设置主题色 → 结果错误地沿用了页面 A 的主题色。
如果你做的是多页面系统,配了不同主题的页面,这个 bug 会让你怀疑人生。
新版本
各页面甘特图的主题色相互独立、互不干扰,彻底解决"主题色污染"。
⚠️ 但有一条绕不开的限制:同页多甘特图共享主题色
官方也做了补充说明:
同一个页面中的多个甘特图只能使用统一的主题色。
原因是:DHTMLX Gantt 把皮肤属性设置在 HTML 的 body 标签上,而每个页面只有一个 body 元素。
这个限制来自第三方组件本身,不是活字格插件的问题。
💡 实操建议:功能五(一页多甘特图)和功能二(主题色)撞在一起时,优先把需要区分配色的甘特图拆到不同页面;如果必须同屏,就靠任务条本身的颜色(比如不同类型任务用不同色)来做视觉区分,别指望主题色。
六、选择任务 & 获取当前行:甘特图不再是"孤岛"
这一条增强的是甘特图与活字格数据模型之间的交互能力,也是最容易被低估的一项。
6.1 选中任务
- 通过命令选中指定任务:比如从页面上的表格点一行,甘特图自动定位并选中对应任务
- 获取当前选中的任务信息:用户在甘特图上点一下,你就能拿到这条任务的完整数据
6.2 获取当前行
可以实时获取甘特图中当前焦点所在的任务行数据。
这个能力的价值在于联动——

一句话:甘特图从"一个展示控件",变成了页面数据流转的一个节点。
📷 配图建议:甘特图 + 右侧联动详情面板,箭头标注"获取当前行 → 驱动详情区"
七、7 类命令支持多任务批量操作
日常任务管理最费时间的就是重复点。新版在以下命令中支持多选任务并批量操作:

📷 配图建议:甘特图多选状态截图(多个任务条高亮),配合命令配置面板
这条对效率的提升是最直观的:以前改 20 个任务的负责人要点 20 次,现在框选 + 一次更新。
八、⚠️ 升级必读:设计时数据源名称加了前缀
这是本轮唯一的破坏性变更,升级前务必先看这一节。
改了什么
为了避免代码中的名称与活字格保留的类型名称发生冲突,V12.1 在设计时数据源的名称上增加了前缀。
对你有什么影响
分两种情况:
💡 实操提示:升级后如果编译报"找不到类型",先去设计器里看一眼数据源实际生成的名称,全局替换即可。不确定前缀具体是什么,可以在活字格设计器的命令/代码提示里搜一下原名称。
建议在升级 V12.1 之前,先全局搜一遍代码里的类型引用(关键词:UserInfo 以及与你的甘特图数据源同名的类型),把需要改的地方列出来,避免升级后一通报错手忙脚乱。
九、升级检查清单
十、小结
V12.1 这一轮甘特图升级,如果用一句话概括,就是**“把控制权还给开发者”**:
- 类型名你来定 ——
gantt.config.types随便改,前后端还保持一致 - 里程碑你来创建 —— 不用再绕道数据表
- 一页放几个你说了算 —— 多项目同屏对比
- 批量操作覆盖 7 类命令 —— 告别机械重复劳动
- 跟页面的联动打通了 —— 选中、获取当前行,数据流转起来
唯一的代价是设计时数据源名称加了前缀——升级前花 5 分钟搜一下代码,就能平稳过渡。
对制造业的排产排期、项目型企业的多项目管控来说,这一轮升级后的甘特图,已经能撑起比较完整的业务场景了。
葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。
更多推荐


所有评论(0)