项目管理工具dhtmlxGantt甘特图入门教程(五):甘特图实例特点

本文重点介绍使用Gantt Instance的主要功能。

点击获DhtmlxGantt官方正式版

让我们考虑最常见的情况-构建具有多个页面/选项卡/视图的应用程序。

以下方法适用于基于 Angular(或基于 React)的应用程序,并且仅在dhtmlxGantt的商业版、企业版或旗舰版中可用(在 GPL 或个人版中不可用):

  • 当您使用甘特图打开页面/选项卡/视图时,您需要创建一个新的甘特图实例;
  • 当您切换到不同的页面/选项卡/视图时,您需要销毁甘特图实例。

自定义事件

当您使用甘特图加载页面时,您需要在添加事件之前手动将事件的ID保存到数组中:

const onTaskClick = gantt.attachEvent('onTaskClick', (id) => {
    gantt.message(`onTaskClick: Task ID: ${id}`);
    return true;
}, '');
eventIDs.push(onTaskClick);

当您切换到另一个页面时,您需要使用已保存到数组的ID手动分离事件:

eventIDs.forEach(event => gantt.detachEvent(event));
eventIDs = [];

数据处理器

你需要手动销毁dataProcessor:

dp.destructor();

请注意,您只需要销毁数据处理器,而不是甘特图。否则,在重新加载页面之前,您将无法使用甘特图。

任务、链接、资源数据、标记、自定义热键

您可以使用clearAll()方法安全地从甘特图实例中删除这些数据。

甘特图配置

没有内置方法可以保存它或将甘特图配置重置为默认配置。 大多数甘特图配置都保存在gantt.config对象中。

CSS

如果您添加了自定义CSS,如果它导致问题,您需要手动删除它。

日历设置

您需要使用gantt.delete Calendar()方法手动删除它们。

其他案例

除了上述几点之外,您可能还需要实现一些其他选项,但目前暂未测试此方法的所有可能场景。

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。了解更多DhtmlxGantt相关内容,请锁定本套系列教程。


你可能感兴趣的:(gantt,dhtmlxgantt,项目管理工具,项目管理控件,甘特图)