发布时间:2026/8/5 21:08:40
如何将DHTMLX Suite集成到Scheduler Lightbox中?让项目管理更可控! 在构建JavaScript调度器时通常需要为最终用户提供一个他们喜欢的方式来计划事件这是Web开发人员喜欢认可DHTMLX Scheduler的重要原因它在这方面提供了完全的操作自由它带有lightbox弹出窗口允许通过各种控件动态更改事件的细节。但是如果想用DHTMLX Suite库中的小部件来补充Scheduler的lightbox该怎么办呢在本文中我们将逐步指导您如何将DHTMLX Suite小部件嵌入到Scheduler组件的lightbox中。六个步骤将DHTMLX Calendar添加到调度器的Lightbox​​​​​​​DHTMLX Suite库中的任何小部件都可以无缝地集成到Scheduler组件的编辑表单中对于所有小部件算法几乎是相同的。因此我们以DHTMLX Calendar为例说明如何在实践中做到这一点。我们将把这个功能与启用的时间选择器放在调度器的lightbox中它有助于方便地以12或24小时格式指定事件的日期和持续时间。下面是预期的结果Step 1首先有必要在scheduler.form_blocks中创建一个新的编辑器对象。为此必须使用返回HTML元素的render方法在此方法中您只需创建容器并在其中生成日期选择器。scheduler.form_blocks[custom_date_editor]{ render:function(config){ // config- section configuration object return div classcustom_date_editor-wrapper div namestart_date/div div nameend_date/div /div ; }, set_value:function(node,value,ev,config){ }, get_value:function(node,ev,config){ }, focus:function(node){ } };Step 2之后必须创建公共变量startDateCalendar和startDateCalendarlet startDateCalendar; let endDateCalendar;这些变量用于访问将放置时间选择器的日历对象。Step 3下一步是创建initcalendar()函数当您需要重新初始化日历时即每次打开lightbox时调用它该函数还在创建新日历之前使用析构函数方法删除任何旧日历(如果它们存在)。timePicker属性的值应设置为true以补充日期选择功能使其能够选择计划事件的时间。在下面的代码示例中我们还使用了dhx_widget - borderdered CSS类来帮助指定日历的边框。function initCalendars(startDateElement, endDateElement){ if(startDateCalendar){ destroyCalendars(); } startDateCalendar new dhx.Calendar(startDateElement, { timePicker: true, css: dhx_widget--bordered }); endDateCalendar new dhx.Calendar(endDateElement, { timePicker: true, css: dhx_widget--bordered }); } function destroyCalendars(){ if(startDateCalendar){ startDateCalendar.destructor(); endDateCalendar.destructor(); startDateCalendar null; endDateCalendar null; } }Step 4现在是时候考虑lightbox控件对象中的set_value函数了每当控件接收到新值时就调用此方法。当lightbox打开时当控件通过API接收到一个新值时就会发生这种情况。这就是您必须初始化日历并填充其值的地方set_value:function(node,value,ev,config){ initCalendars(node.querySelector([namestart_date]), node.querySelector([nameend_date])); startDateCalendar.setValue(new Date(ev.start_date)); endDateCalendar.setValue(new Date(ev.end_date)); },Step 5为了使控件能够在事件中保存这些值必须从get_value函数返回这些值。在我们的例子中函数看起来像这样get_value:function(node,ev,config){ const start_date startDateCalendar.getValue(true); const end_date endDateCalendar.getValue(true); ev.start_date start_date; ev.end_date end_date; return { start_date, end_date }; },澄清在这里做的两件事情是很重要的您可以修改通过参数传递的事件并直接为该对象分配新的日期值。对于映射到事件的几个不同属性的控件这是一种常见的方法。从函数返回日期选择器值作为{start_date, end_date}对象它允许scheduler.formSection(name). getvalue()方法访问控件值。当实现映射到事件对象单个属性的简单控件时不需要修改事件对象只需要从方法返回值返回值将自动分配给事件对象的相应属性。Step 6最后需要在日历不再需要时销毁它们通常使用DHTMLX Scheduler的onAfterLightbox事件来完成scheduler.attachEvent(onAfterLightbox, destroyCalendars);在这个示例中您可以看到带有嵌入式时间选择器功能的事件日历并使用它。

相关新闻

2026/8/5 21:08:40

界面控件DevExpress .NET应用安全 Web API v23.1亮点:支持Swagger模式

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。 DevExpress 今年第一个重要版本v23.1日前已正式发布了,该版本拥有众多新产品和数十…

2026/8/5 21:03:40

Python文件操作大全

1 文件操作 1.1 文件打开与关闭 1.1.1 打开文件 在Python中,你可以使用 open() 函数来打开文件。以下是一个简单的例子: # 打开文件(默认为只读模式) file_path example.txt with open(file_path, r) as file:# 执行文件操作…

2026/8/5 21:03:40

linux/windows共享文件夹

windows共享文件夹linux访问1、在windows中,设置共享文件选择对应的文件夹,右键属性点击共享,对文件进行共享共享之后显示如下:2、在linux端,使用mount命令进行挂载进入到自己想共享到的文件夹执行命令sudo mount -t c…

2026/8/5 23:49:21

小白python入门 - 66. 机器学习地图

小白python入门 - 66. 机器学习地图 0. 写给同学的话 你好。从这一课开始,我们进入「机器学习」这一小段。你前面已经会用 Python、pandas 做清洗、透视、出图——那些是在描述「数据里发生了什么」。机器学习要多走一步:在历史数据里找规律,…

2026/8/5 23:49:21

小白python入门 - 67. 特征与预处理

小白python入门 - 67. 特征与预处理 0. 写给同学的话 上一课你已经会了:划分训练/测试集,用 sklearn 做第一次 fit。这一课解决更「脏」也更关键的问题——喂给模型之前,数据要怎么整理。 现实表格里:有的列是「年龄」、有的是「年…

2026/8/5 23:49:21

如何搭建企业网盘?一位CTO的完整技术复盘

如何搭建企业网盘?一位CTO的完整技术复盘 以下从存储架构、检索引擎、安全体系、智能化四个维度,系统讲解企业网盘的搭建思路。内容偏技术向,适合有一定基础的读者。作为一个主导过企业网盘从0到1搭建的CTO,这个问题我比较有发言权…

2026/8/5 23:49:21

Transformer笔记

参考视频:1. 【《Attention is all you need》论文解读及Transformer架构详细介绍】 https://www.bilibili.com/video/BV1xoJwzDESD/?share_sourcecopy_web&vd_sourcec0697661320dab63e5710ea1fb58458f2. 【破解transformer第一讲 开篇】 https://www.bilibili…

2026/8/5 23:49:21

深度揭秘网站建设交流材料背后的逻辑与实战经验分享

做网站的这十几年,我见过太多老板拿着精美的PPT冲进我的办公室,拍着胸脯说:“我们要做个苹果那样的官网”或者“我们要搞个天猫那样的电商平台”。每次听到这种话,我都只能尴尬地笑笑,心里却在一万个担心。为什么?因为很多所谓的“网站建设交流材料”,在开始之前就已经偏…

2026/8/5 23:44:20

html

表格<table></table> 用来创建表格<tr></tr> 表示行<td></td> 表示列 普通单元格&#xff08;内容&#xff09;<th></th> 和 td 的用法一样 表头单元格&#xff0c;文字默认加粗、居中HTML 表格&#xff1a;colspan 跨列、r…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制&#xff1a;SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰&#xff1f;想为心爱的游戏截图&#xff0c;却发现游戏不支持自定义分辨率…

2026/8/5 0:01:34

三升四,比成绩下滑更可怕的,是孩子开始「认命」

分水岭上&#xff0c;最难的不是翻过去&#xff0c;是孩子不想翻了。八月初了。这两个字&#xff0c;对三升四的家长来说&#xff0c;比任何闹钟都让人清醒。最近的家长群里&#xff0c;气氛明显不一样了。一升二的在关心兴趣班&#xff0c;二升三的在讨论要不要提前学英语。而…

2026/8/5 0:01:34

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架&#xff0c;为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能&#xff0c;同时你也可以通过代码直接操作 Cach…

2026/8/5 0:01:34

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求&#xff1a;通孔焊盘 十字花&#xff1b;过孔 Via 实心直连&#xff1b;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑&#xff1a;全部统一十字&#xff0c;导致接地过孔阻抗高、大电流发热&#xff01; 一、快捷键打开规则 PCB 界面按下&#xff1a;D R 展开…

2026/8/5 19:21:13

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站&#xff0c;核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/5 19:21:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具&#xff0c;覆盖选题构思、文献整理、内容生成、格式排版等核心场景&#xff0c;真正帮你高效搞定论文难题。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天定稿首…