项目管理工具dhtmlxGantt甘特图入门教程(八):数据加载(四)

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库这篇文章给大家讲解   dhtmlxGantt 的数据属性和数据库结构。

DhtmlxGantt正版试用下载(qun:764148812)icon-default.png?t=N176https://www.evget.com/product/4213/download

数据属性

甘特图的数据源是存储两种类型信息的对象:

  • 任务- 任务的项目。
  • 链接- 依赖链接的项目。

任务对象的属性

强制属性-这些属性将始终在客户端上定义,它们必须由数据源提供,以便甘特图正确运行。

  • text - ( string ) 任务文本。
  • start_date - ( Date|string ) 任务计划开始的日期。如果作为字符串提供,则必须匹配date_format格式。
  • 持续时间-(数字)任务持续时间。 可以用 'end_date' 属性代替。
  • id-( string|number ) 任务 ID。

可选属性-这些属性可能会或可能不会被定义。如果定义了这些属性,甘特图的默认逻辑和模板将使用它们。

  • type-( string ) 任务类型。可用值存储在类型对象中:
  • "task" - 常规任务(默认值)。
  • “项目”- 一个任务,在其最早的子任务开始时开始,并在其最新的子任务结束时结束。 对于此类任务,将忽略start_date、end_date和duration属性。
  • “里程碑” - 用于标记项目重要日期的零工期任务。对于此类任务,将忽略duration、progress、end_date属性。
  • parent - ( string|number ) 父任务的ID。根任务的id由root_id配置指定。
  • progress - (从 0 到 1的数字)任务进度。
  • open - ( boolean ) 指定任务分支最初是否打开(以显示子任务)。
  • end_date - ( Date|string ) 计划完成任务的日期。用作设置任务持续时间的持续时间属性的替代方法。如果作为字符串提供,则 必须匹配date_format格式。
  • row_height - ( number ) 设置表格行的默认高度
  • bar_height - ( number,string ) 设置时间线区域中任务栏的高度
  • readonly -( boolean ) 可以将任务标记为readonly。
  • editable -( boolean ) 可以将任务标记为可编辑。
  • rollup -( boolean ) 指定任务(类型:“任务”)或里程碑(类型:“里程碑”) 是否应该出现在父项目上。
  • hide_bar -( boolean ) 定义任务(类型:“任务”)或里程碑(类型:“里程碑”)是否应隐藏在时间线区域中。

动态属性-在客户端上创建并表示任务或链接的当前状态。它们不应保存到数据库中,如果在 JSON/XML 中指定了这些属性,甘特图将忽略这些属性。

  • $source - (数组)来自任务的链接的 ID。
  • $target -进入任务的链接的(数组) ID。
  • $level - ( number ) 任务层次结构中的任务级别(从零开始的编号)。
  • $open - ( boolean ) 指定任务当前是否打开。
  • $index - ( number ) 甘特图中任务行的编号。

JSON 和 XML 数据的默认日期格式是“%d-%m-%Y %H:%i”(请参阅日期格式规范)。

要更改它,请使用date_format配置选项。

gantt.config.date_format="%Y-%m-%d";
  gantt.init("gantt_here");

一旦加载到甘特图,start_date和end_date属性将被解析为 Date 类型。
date_format配置不支持的日期格式可以通过parse_date模板手动解析。

链接对象的属性

强制属性

  • id - ( string|number ) 链接 ID。
  • source - ( number ) 依赖项将从其开始的任务的 ID。
  • target - ( number ) 依赖项将结束的任务的 id。
  • type - ( string ) 依赖类型。可用值存储在链接对象中。默认情况下,它们是:
  • “0” - 'finish_to_start'。
  • “1” - 'start_to_start'。
  • “2” - 'finish_to_finish'。
  • “3” - 'start_to_finish'。

如果您想以不同于默认值('0','1','2')的方式存储依赖类型,您可以更改链接对象的相关属性的值。例如:

gantt.config.links.start_to_start = "start2start";

请注意,这些值仅影响依赖类型的存储方式,而不影响可视化的行为。

可选属性

  • lag -( number ) 可选,任务滞后。
  • readonly -( boolean ) 可选,可以将链接标记为readonly。
  • editable -( boolean ) 可选,可以将链接标记为可编辑。

自定义属性

您不仅限于上面列出的强制属性,还可以将任何自定义属性添加到数据项。额外的数据属性将被解析为字符串并加载到客户端,您可以根据需要使用它们。

数据库结构

如果您使用数据库,我们建议使用 2 个单独的表来存储数据:一个用于任务,一个用于链接。

加载任务和链接到甘特图的标准数据库的结构是:

gantt_tasks表 - 指定甘特图任务

  • id - ( string,number ) 事件 ID。
  • start_date - ( Date ) 任务计划开始的日期。
  • text - ( string ) 任务的描述。
  • progress - ( number ) 一个从 0 到 1 的数字,表示任务完成的百分比。
  • duration - ( number ) 以当前时间尺度为单位的任务持续时间。
  • parent - ( number ) 父任务的 ID。
  • type - ( string ) 可选,任务的类型。
  • readonly - ( boolean ) 可选,可以将任务标记为readonly。
  • editable - ( boolean ) 可选,可以将任务标记为可编辑。

gantt_links表 - 指定甘特图依赖链接

  • id - ( string,number ) 事件 ID。
  • source - ( number ) 源任务的 id。
  • target - ( number ) 目标任务的 id。
  • type - ( string ) 依赖的类型:
  • 0 - 'finish_to_start'
  • 1 - 'start_to_start'
  • 2 - 'finish_to_finish'
  • 3 - 'start_to_finish'
  • lag -(数字)可选,任务滞后。
  • readonly - ( boolean ) 可选,可以将链接标记为readonly。
  • editable - ( boolean ) 可选,可以将链接标记为可编辑。

使用以下SQL语句创建包含2个提到的表的数据库:

CREATE TABLE `gantt_links` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `source` int(11) NOT NULL,
  `target` int(11) NOT NULL,
  `type` varchar(1) NOT NULL,
  PRIMARY KEY (`id`)
)
CREATE TABLE `gantt_tasks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` varchar(255) NOT NULL,
  `start_date` datetime NOT NULL,
  `duration` int(11) NOT NULL,
  `progress` float NOT NULL,
  `sortorder` int(11) NOT NULL,
  `parent` int(11) NOT NULL,
  PRIMARY KEY (`id`)
)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值