为单个定期事件保存单个 DHTMLX 计划程序事件记录

Saving individual DHTMLX Scheduler event records for a single recurring event

本文关键字:事件 计划 程序 记录 DHTMLX 保存 单个定 单个      更新时间:2023-09-26

我已经成功地使用DHTMLX调度程序来CRUD事件记录和我的数据库。 我的要求是重复发生的事件。

目前,如果我创建定期事件,则会在数据库上创建一条记录,并添加重复出现的详细信息。

我想做的是将单个重复事件保存到数据库中,而不是单个"master"事件。

我知道 DHTMLX 调度程序通常不允许这样做,所以我将不得不使用 API 编写一些代码,但我找不到一种方法在将单个事件写入数据库之前从主服务器中提取单个事件。

任何帮助将不胜感激。

没有简单的方法来做你需要的事情(至少我不知道这种方式(。您可以尝试几件事。

首先,您可以尝试在客户端上实现所有逻辑。尽管调度程序不提供将周期性事件解析为单个条目的公共方法,但您可以使用一种私有方法

因此,您可以检测事件何时添加到调度程序中,将其拆分为单独的记录,然后发送到将执行数据库插入的处理程序。这是小型演示 http://docs.dhtmlx.com/scheduler/snippet/451753cb

或者,您可以在插入之前尝试在服务器上分析递归事件。

实现将取决于您使用的服务器端。

  • 如果是 PHP,则有一个用于重复事件的助手https://github.com/DHTMLX/scheduler-helper-php 但是,它只能从数据库中读取事件,没有方法可以解析单个您提供的事件,因此需要一些编码才能使其工作。

  • 如果使用 .NET,则帮助程序库将提供所需的方法,以便可以处理重复发生的事件并将其插入数据库而无需大问题http://scheduler-net.com/docs/recurring-events.html#getting_instances_of_recurring_events

  • 如果您使用其他平台 - 恐怕您必须编写您自己的重复事件解析器,以便在服务器端。

以这种方式保存事件后,调度程序将不再将其识别为重复序列,因此不会有用于一次删除或修改所有事件的内置控件。

正如您现在可能看到的那样,虽然有几种可能的方法可以实现您需要的东西,但也有许多问题可能会带来很多痛苦。

也许你可以澄清为什么你需要这样的逻辑。也许原始问题可以用更简单的方式解决。