彩票走势图

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

翻译|使用教程|编辑:秦林|2022-09-26 17:31:29.857|阅读 97 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

dhtmlxgantt入门教程

这篇文章给大家讲解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”)获取数据

对于时间线视图

  • bindLinks - ( string ) 指向链接的来源。null,如果没有相关链接;
  • 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    欢迎进群交流讨论

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


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP