dhtmlx-gantt甘特图之左侧表格列排序和列拖拽

575 阅读1分钟
左侧表格列排序

从对甘特图网格中的排序列进行排序开始,这个功能是通过在甘特图配置中将sort属性的值设置为true来实现的。

gantt.config.sort = true;

850552238daf26e833cab3ccb2e8229a.gif

最终用户能够按所需的顺序将特定列对网格数据进行排序,只需要单击其标题即可。

或者,这个功能也可以通过sort()方法的API调用来实现。

任务重新排序

当处理大量的项目任务时,使用拖放功能垂直重新排序任务是很方便的。

在我们的甘特图中,有一个特殊的分支重新排序模式负责这个功能,它通过将order_branch属性的值设置为true来启用。

gantt.config.order_branch = true;
gantt.init("gantt_here");

请注意,它只允许在同一嵌套级别内重新排序任务,即子任务不能移动到父任务的位置。为了消除这个限制,并允许最终用户在任何树级别放置任务,你可以应用order_branch_free选项:

gantt.config.order_branch_free = true;

28ec120de34f1590a955d34c399b2e2e.gif

当在具有大量任务的甘特图中启用分支模式时,可能会导致性能下降。在这种情况下,您可以使用旨在加快速度的标记模式。

gantt.config.order_branch = "marker";

您也可以使用onBeforeTaskMove事件禁止在其他子分支中放置任务:

gantt.attachEvent("onBeforeTaskMove", function(id, parent, tindex){
const task = gantt.getTask(id);
if(task.parent != parent)
return false;
return true;
});