提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:秦林|2022-11-23 10:45:22.040|阅读 582 次
概述:本文给大家讲解如何通过DHTMLX Gantt自定义灯箱,欢迎大家下载最新版试用体验。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
本文给大家讲解如何通过DHTMLX Gantt自定义灯箱,欢迎大家下载最新版试用体验。
您可以为甘特图创建一个完全自定义的灯箱,并用它替换默认灯箱。有两种可能的方法:
(1)通过重新定义showLightbox方法:
在页面中包含jQuery库的源文件:
gantt.showLightbox = function(id){ // code of the custom form }
创建一个 HTML 容器“my-form”,我们将在其中放置一个自定义灯箱:
<div id="my-form"> <label for="description">Task text <input type="text" name="description" value="" > </label> <br> <input type="button" name="save" value="Save"> <input type="button" name="close" value="Close"> <input type="button" name="delete" value="Delete"> </div>
然后制作一个自定义的灯箱,你可以使用类似这样的配置:
var taskId = null; gantt.showLightbox = function(id) { taskId = id; var task = gantt.getTask(id); var form = getForm(); var input = form.querySelector("[name='description']"); input.focus(); input.value = task.text; form.style.display = "block"; form.querySelector("[name='save']").onclick = save; form.querySelector("[name='close']").onclick = cancel; form.querySelector("[name='delete']").onclick = remove; }; gantt.hideLightbox = function(){ getForm().style.display = ""; taskId = null; } function getForm() { return document.getElementById("my-form"); }; function save() { var task = gantt.getTask(taskId); task.text = getForm().querySelector("[name='description']").value; if(task.$new){ delete task.$new; gantt.addTask(task,task.parent); }else{ gantt.updateTask(task.id); } gantt.hideLightbox(); } function cancel() { var task = gantt.getTask(taskId); if(task.$new) gantt.deleteTask(task.id); gantt.hideLightbox(); } function remove() { gantt.deleteTask(taskId); gantt.hideLightbox(); }
(2)使用onBeforeLightbox事件。在这种情况下,动作算法如下:
gantt.attachEvent("onBeforeLightbox", function(id) { var task = gantt.getTask(id); if(task.$new){ dhtmlx.confirm({ text:"Create task?", callback: function(res){ if(res){ //..apply values delete task.$new; gantt.addTask(task); }else{ gantt.deleteTask(task.id); } } }); return false; } return true; });
当用户保存表单时,您需要手动获取表单值并使用公共 API 更新适当的任务:addTask、updateTask和deleteTask。
请注意,当灯箱被新任务触发时(单击“加号”按钮),如果用户单击“取消”以恢复任务创建,则应将其删除,任务对象将设置“$new”属性。
您可以处理灯箱关闭,如下例所示。动作类型——“保存”、“取消”或“删除”作为“动作”参数传递:
switch(action){ case "save": task.text = '';// apply values from form // add new task or update already existing one if(task.$new){ delete task.$new; gantt.addTask(task,task.parent) }else{ gantt.updateTask(id); } break; case "cancel": // if cancel popup for creating a new task - delete it, otherwise do nothing if(task.$new) gantt.deleteTask(id); break; case "delete": gantt.deleteTask(id); break; }
DHTMLX Gantt享有超十年声誉,支持跨浏览器和跨平台,性价比高,可满足项目管理控件应用的所有需求,是最完善的甘特图图表库。
慧都2022年终狂欢火热进行中,全场产品超低价,DHTMLX全系产品享8.8折!了解更多活动详情,欢迎访问慧都网咨询。
甘特图控件交流群:764148812 欢迎进群交流讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
一个用于构建跨浏览器Web应用和移动应用的强大JavaScript UI库。
DHTMLX Scheduler一个类似于Google日历的强大JavaScript日程安排控件。
DHTMLX Gantt针对您的解决方案的交互式JavaScript / HTML5甘特图
DHTMLX DiagramdhtmlxDiagram有很多漂亮的交互式图表,只需几行代码就能生成任何你需要的图表。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢