/******获取任务节点部分********/

//获取任务节点
gantt.getTask(14) //index: 13 rendered_type: "task" rendered_parent: 1 所有属性//返回下一个项目的ID(无论嵌套级别是什么:相同或不同)
gantt.getNext( taskId ); //没有就返回null
gantt.getNextSibling(taskId );//没有就返回null
//返回上一个项目的ID:
gantt.getPrev(tsakId)
//返回上一个同级项目的ID:
gantt.getPrevSibling(tsakId)
//返回父任务的ID:
gantt.getParent(tsakId)//返回任务栏的HTML元素
gantt.getTaskNode('10');//-><div task_id=​"2" class=​"gantt_task_line" ​…​​>​​…​</div>​
gantt.getTaskRowNode('10');//-><div class=​"gantt_row" task_id=​"2">​…​</div>​//根据指定条件查找任务
var userTasks = gantt.getTaskBy("user_id", 5);
var userTasks2 = gantt.getTaskBy(function(task){ return task.user_id == 5 || !task.user_id;
});
var userTasks = gantt.getTaskBy(task => task.user_id == 5);//通过其全局任务索引返回任务
var globalTaskIndex = gantt.getGlobalTaskIndex(19); // -> 10 var task = gantt.getTaskByIndex(10);//返回指定时间段内发生的任务的集合
var tasks = gantt.getTaskByTime(new Date(2013,3,10),new Date(2013,4,10));
for (var i=0; i<tasks.length; i++){ alert(tasks[i].text);
}
var tasks = gantt.getTaskByTime();//returns all tasks//返回指定父分支的第一级子任务
gantt.getChildren( taskId)//返回指定任务的兄弟姐妹(包括自身)
gantt.getSiblings("t_1"); -> //["t_1", "t_2]// 检查当前是否选择了指定的任务
gantt.isSelectedTask(task.id)// 检查指定任务是否存在
gantt.isTaskExists(10); // ->true// 检查指定任务是否当前在甘特图中呈现
gantt.isTaskVisible("t_1"); // ->true
// 返回配置
gantt.getScale() //返回事件的配置事件头单元格宽度70高度12,总的宽度5600。列数80,每格的做边距0,70,140……;单位day// 获取甘特图中当前加载的任务数
gantt.getTaskCount();// 获取分支中任务的索引
var taskIndex = gantt.getTaskIndex("t_1"); // -> 0
var globalTaskIndex = gantt.getGlobalTaskIndex("t_1"); // -> 1//返回任务的类型
var type = gantt.getTaskType(gantt.getTask(12));//通过左边表格里列的名称返回列的索引
var index = gantt.getColumnIndex("start_date"); // => 1//根据 taskId 返回所有相关任务以及相关的链接
gantt.getConnectedGroup(18);//获取所有的ID
gantt.getDatastore("task").fullOrder//获取所有节点
gantt.getDatastore("task").pull//返回日期的列索引columnIndexByDate
gantt.columnIndexByDate(new Date(2017, 03, 11)); // ->10//返回所选任务的ID:
gantt.getSelectedId()//返回当前选定任务的数组:
gantt.getSelectedTasks();//getLastSelectedTask; isSelectedTask//检查指定项目是否具有子任务:
gantt.hasChild("p_1"); //-> true// 获取屏幕上可见的任务数(未折叠的任务):
gantt.getVisibleTaskCount();

/******位置相关可能用到********/

//返回任务的可见高度
var height = gantt.getTaskHeight(); // -> 30 //任务的DOM元素在时间轴区域中的位置和大小
var sizes = gantt.getTaskPosition(task, task.planned_start, task.planned_end); //=>left,top,height,width //获取任务的DOM元素在时间轴区域中的最高位置
gantt.getTaskTop('10'); //获取指定日期在图表区域中的相对水平位置 gantt.posFromDate(new Date(2013,02,31)); // -> 0
gantt.posFromDate(new Date(2013,03,1)); // -> 74
gantt.posFromDate(new Date(2013,03,2)); // -> 148 //滚动图表区域以使指定的日期可见
gantt.showDate(new Date()); //shows the current date // 在甘特图中启用/禁用多任务选择:
gantt.config.multiselect = false; // 指定在一个或任何级别内是否可以使用多任务选择:
gantt.config.multiselect_one_level = true;
gantt.showDate(new Date()); //shows the current date //使指定的任务在屏幕上可见
gantt.showTask('10'); //跳转定位
let colIndex = simulationGantt.columnIndexByDate(new Date( task.start_date ));
simulationGantt.scrollTo( (colIndex-5)*col_width, (task.$index-2)*34);//滚动到位置 scrollTo
//返回滚动位置
var sPos = gantt.getScrollState(); // {x:58,y:180}
var posX = sPos.x; var posY = sPos.y; //当甘特图滚动到特定点时触发onGanttScroll(数左,数顶部){...} gantt.attachEvent("onGanttScroll", function (left, top){ // any custom logic here
}) //获取图表区域中指定水平位置的日期//参数相当于列的index
gantt.dateFromPos(0);//返回第0列的日期

/******消息弹窗等********/

//消息框
gantt.message({type:"confirm-warning", text:"Are you sure you want to do it?", expire: 1000,//过期时间
}); //模态框
gantt.modalbox({ title: "Close", type: "alert-warning"
}); //屏幕右上角的红色弹出窗口显示(第一个参数必为false)
gantt.assert( false, task.text);
//调用确认消息框
gantt.confirm({ text: "Continue?", ok:"Yes", cancel:"No", callback: function(result){ if(result){  gantt.message("Yes!"); }else{ gantt.message("No..."); } }
});
//警报框的配置
gantt.alert({ //confirm,message,modalbox title:"Alert", type:"alert-error", text:"You can't do this"
});
gantt.assert( false, task.text);

/******标记标签********/

//在灯箱区域添加标记
gantt.plugins({ marker: true });
gantt.config.task_date = "%Y-%m-%d";
var dateToStr = gantt.date.date_to_str(gantt.config.task_date);
var todayMarker = null;
var startTime = new Date("2020-12-13");
todayMarker = gantt.addMarker({ start_date: startTime, end_date: simulationGantt.calculateEndDate(new Date("2020-12-13"), task.duration), css: "gantt-start-line", text: "开始时间",
}); //删除灯箱区域添加标记
gantt.deleteMarker(todayMarker); <style>
.gantt-end-line{ background-color: #ffeb3b; color: #fff; }
.gantt-start-line { background-color: #0ca30a; color: #fff; }
</style>

/****** 一些操作 ********/

// 选择指定的任务、从所选任务中删除选择
gantt.selectTask("t_1"); gantt.unselectTask();// 在网格中排序任务:
gantt.sort("text",true);//排序的列的名称/true-降序排序,false-升序排序。默认情况下为false// 将任务移到新位置
gantt.moveTask("t_1", 1);// 打开具有指定ID的分支
gantt.open("p_1");// 激活指定的插件
gantt.plugins({ quick_info: true, keyboard_navigation: true });// 更新指定的任务
var taskId = gantt.addTask({ id:10, text:"Task #10", start_date:"02-04-2013", duration:8,
});
gantt.getTask(taskId).text = "Task #13"; //changes task's
data gantt.updateTask(taskId); //renders the updated task//初始化promise的回调
gantt.Promise(function(resolve, reject) { setTimeout(function(){ resolve(); }, 5000);}).then(function(){ alert("Resolved") });//添加链接
var linkId = gantt.addLink({ id:1, source:1, target:2, type:gantt.config.links.finish_to_start });//绑定事件【attachEvent(GanttEventName名称,函数处理程序,对象设置);对象设置可以没有】
var myEvent = gantt.attachEvent("onTaskClick", function(id, e) { alert("You've just clicked an item with id="+id);
}, {id: "my-click", once: true }); //可以指定id,是否只执行一次
//取消绑定的事件
gantt.detachEvent("my-click");
gantt.detachEvent(myEvent); // 是指定任务不触发内部事件或服务器端调用:silent//自动排程:需要插件auto_scheduling插件。
gantt.autoSchedule();
//要从特定任务开始重新计算计划,请将任务的id作为参数传递给autoSchedule()方法
gantt.autoSchedule(taskId);//全屏
gantt.expand();//全屏
gantt.collapse();//退出全屏//计算完成任务的日期
gantt.calculateEndDate({start_date: new Date(2013,02,15), duration: 48});
gantt.calculateEndDate(new Date(2013,02,15), 48);//判断是否存在参数,则返回false;否则返回true
if(gantt.defined(task.custom_property)){ // ..
}//销毁甘特图实
var myGantt = Gantt.getGanttInstance(); myGantt.destructor();//隐藏灯箱模式叠加层,以阻止与其余屏幕的交互
gantt.hideCover(gantt.getLightbox());//如果灯箱当前处于活动状态,则将其关闭
gantt.showLightbox(1); gantt.hideLightbox()

/******遍历节点********/

//遍历甘特图中指定任务的所有父任务
gantt.eachParent(function(task){ alert(task.text);
}, taskId);
//遍历甘特图中的所有选定任务 eachSelectedTask
//遍历特定任务或整个甘特图的所有子任务 eachTask
//遍历被选中的节点 eachSelectedTask

/******导入导出:********/

exportToExcel、exportToMSProject、exportToICal、exportToPDF、exportToPNG、exportToJSON
importFromMSProject

其他——dhtmlxGantt甘特图API精华总结相关推荐

  1. Vue Dhtmlxgantt甘特图/横道图 baselines 含(计划、实际时间对比)树形实例实现及部分扩展

    Vue Dhtmlxgantt甘特图/横道图 baselines 含(计划.实际时间对比)树形实例实现及部分扩展 背景: 需满足计划.实际时间对比需求,本人查看了很多文档和资料(对比了dhtmlxga ...

  2. 项目管理工具dhtmlxGantt甘特图入门教程(三):如何配置Gantt

    为了获得甘特图所需的外观,dhtmlxGantt提供了2个对象: gantt.config - 日期.比例.控件等的配置选项. gantt.templates - 甘特图中使用的日期和标签的格式模板. ...

  3. 项目管理工具dhtmlxGantt甘特图入门教程(十五):从MS项目导入/导出(上)

    导出MS项目 甘特图组件允许将链接.任务和资源导出到 MS Project 中. 要将数据从甘特图导出到 MS Project,请执行以下操作: 在页面中包含 "https://export ...

  4. 项目管理工具dhtmlxGantt甘特图入门教程(十四):导出/导入 Excel到 iCal

    这篇文章给大家讲解利用dhtmlxgantt导入/导出Excel到iCal的操作方法. dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善 ...

  5. dhtmlxGantt甘特图配置

    autofit 表格列宽自适应 类型 可选值 默认值 boolean true/false false demo: gantt.config.autofit = false; gantt.init(& ...

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

    这篇文章给大家讲解如何利用dhtmlxGantt加载任务日期. 点击获DhtmlxGantt官方正式版 加载任务日期 设置任务计划 可以通过三种方式为数据馈送中的任务定义计划: 开始日期 + 持续时间 ...

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

    本文重点介绍使用Gantt Instance的主要功能. 点击获DhtmlxGantt官方正式版 让我们考虑最常见的情况-构建具有多个页面/选项卡/视图的应用程序. 以下方法适用于基于 Angular ...

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

    这篇文章给大家讲解如何利用 dhtmlxGantt正确保存和显示任务的结束日期,本节将给你一个明确答案. 点击获DhtmlxGantt官方正式版 首先,让我们考虑一下在处理任务日期时可能会遇到的两种情 ...

  9. 项目管理工具dhtmlxGantt甘特图入门教程(九):支持哪些数据格式(上篇)

    这篇文章给大家讲解 dhtmlxGantt可以加载或支持哪些数据格式. 点击获DhtmlxGantt官方正式版 dhtmlxGantt可以加载以下格式的数据: JSON: XML(dhtmlxGant ...

最新文章

  1. java 周易解梦接口_周公解梦
  2. 通俗易懂,带你了解Kafka
  3. [jstips]向数组中插入一个元素
  4. 采购申请不固定供应商怎么破?
  5. VSCode 报错 Parsing error: x-invalid-end-tag
  6. hive 时间转字符串_大数据面试杀招——Hive高频考点,还不会的进来挨打
  7. Fortran 学习1--数据类型
  8. fckeditor 2.6 php,fckeditor = 2.6.4 任意文件上传漏洞
  9. SQL 基础教程 练习题 Chapter 1
  10. JAVA使用Gson解析json数据,实例
  11. 彩色图像灰度化MFC
  12. 服务器的安全措施有哪些呢?
  13. 介绍一种冷门但简单的双拼方案——紫光双拼
  14. 导论:什么是 Conversational Robot
  15. AI-语音处理理论与应用-语音处理简介
  16. 【一步步学OpenGL 24】 -《阴影图技术2》
  17. 怎么把ppt转化成图片
  18. QT各种压缩包下载地址
  19. java里人带狗散步,不想带狗狗出门散步,告诉你5个遛狗的好处,不仅仅只有狗狗受益...
  20. Java job interview:WinForm界面特效设计案例导航图分享

热门文章

  1. GuzzleHttp使用
  2. 文献阅读-GNC----IEEE Robotics and Automation Letters (RA-L), 2020.
  3. win10下conda 使用教程
  4. android 官方ui库,腾讯出品的一个超棒的 Android UI 库
  5. 一对一、一对多、多对多(实操)
  6. Fly-小学妹都喜欢的Go后端项目
  7. [PED01]Deep Subspace Clustering Networks
  8. 对待员工的4个阶段:我如何让员工过好自己的一生?
  9. 用python暴力破解压缩包密码
  10. asp.net core 日志中间件(LoggerMiddleware)