项目管理工具dhtmlxGantt甘特图入门教程(四):如何进行布局定制?

这篇文章给大家讲解 dhtmlxGantt如何进行布局定制。

布局定制

您可以使用其他布局视图更改默认布局配置并指定在页面上排列甘特图元素的必要方案。

例如,您可以创建额外的 格和时间线视图,这些视图将为主甘特图创建一个底部资源面板。 实施这样的步骤 自定义布局是:

  • 创建多行布局
  • 将默认 格和时间线添加到布局的第一行
  • 将额外的 格和时间线添加到下一行并将它们绑定到自定义数据源
  • 在这些行之间添加调整大小
  • 将滚动条添加到最后一行并将其绑定到默认时间轴和资源时间轴
gantt.config.layout = {    css: "gantt_container",    rows:[        {          // the default layout          cols: [            {view: "grid",                config: mainGridConfig, scrollY:"scrollVer"},            {resizer: true, width: 1},            {view: "timeline",                scrollX:"scrollHor", scrollY:"scrollVer"},            {view: "scrollbar", id:"scrollVer"}          ]        },        {resizer: true, width: 1},        {          // a custom layout          cols: [            {view: "grid", id: "resourceGrid", bind:"resource",                config:resourceGridConfig, scrollY:"resourceVScroll"},            {resizer: true, width: 1},            {view:"timeline", id:"resourceTimeline", scrollX:"scrollHor",                bind:"resource", bindLinks: null, layers: resourceLayers,                scrollY:"resourceVScroll"},            {view: "scrollbar", id:"resourceVScroll"}          ]        },        {view: "scrollbar", id:"scrollHor"}    ]};

在上面的示例中,添加了一个额外的 格视图。它包含资源列表及其工作量。还有一个额外的 时间线视图,显示当月的工作时间分布,并指示标准和加班时间。

自定义 格和时间线的属性

自定义 格和时间线具有其他属性:

对于 格和时间线视图

  • bind – ( string ) 设置数据存储的id以从(示例中的“resource”)获取数据

对于时间线视图

  • layers – ( array ) 一个配置选项,定义为一组 addLayer() 函数,描述了数据样式的方式。
为自定义视图添加数据存储

要使用相应数据填充自定义视图,您需要添加单独的数据存储。要创建新的数据存储,请使用方法createDatastore并指定数据存储的配置:

var resourcesStore = gantt.createDatastore({    name:"resource",    initItem: function(item){        item.id = item.key || gantt.uid();        return item;    }});

在上面的示例中,添加了一个名为“resource”的数据存储。
要将数据从数据存储区加载到自定义视图中,请使用parse方法:

resourcesStore.parse([// resources    {key:'0', label: "N/A"},    {key:'1', label: "John"},    {key:'2', label: "Mike"},    {key:'3', label: "Anna"}]);

要返回必要数据存储的配置对象,请使用getDatastore方法:

var tasksStore = gantt.getDatastore("task");

该方法将数据存储的名称作为参数。

动态禁用/启用调整大小

在某些情况下,您可能需要动态禁用甘特图单元之间的调整大小。最简单的解决方案是通过 CSS 隐藏它们。
为此,您需要如下规则:

.no_resizers .gantt_resizer{    display:none;}

然后,您可以通过将类附加到甘特图的容器来隐藏调整大小:

gantt.$container.classList.add("no_resizers");

要再次显示调整大小,只需删除该类:

gantt.$container.classList.remove("no_resizers");

dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足项目管理控件应用程序的所有需求,是最完善的甘特图图表库。了解更多DhtmlxGantt相关内容和资讯,欢迎在线咨询或者私信我获取正版试用版及 价。


甘特图控件交流群:764148812    欢迎进群交流讨论

更多正版甘特图软件下载、购买、授权咨询,请点这里!

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月23日
下一篇 2022年8月23日

相关推荐

发表回复

登录后才能评论