我也成功地使用了 DHTMLX 调度程序来 CRUD 事件记录,并且来自我的数据库。我的要求是定期发生的事件。
目前,如果我创建一个重复事件,则会在数据库上创建一条记录,并添加重复的详细信息。
我想做的是将单个重复事件保存到数据库而不是单个“主”事件。
我知道 DHTMLX 调度程序通常不允许这样做,所以我将不得不使用 API 编写一些代码,但我无法找到一种方法在将单个事件写入数据库之前从主控中提取这些事件。
任何帮助将不胜感激。
我也成功地使用了 DHTMLX 调度程序来 CRUD 事件记录,并且来自我的数据库。我的要求是定期发生的事件。
目前,如果我创建一个重复事件,则会在数据库上创建一条记录,并添加重复的详细信息。
我想做的是将单个重复事件保存到数据库而不是单个“主”事件。
我知道 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
如果您使用不同的平台 - 恐怕您必须编写自己的重复事件解析器,以便在服务器端处理它们。
并且以这种方式保存事件后,调度程序将不再将其识别为重复系列,因此不会有用于一次删除或修改所有事件的内置控件。
正如您现在可能看到的那样,虽然有几种可能的方法可以实现您所需要的,但也有许多问题可能会带来很多痛苦。
也许你可以澄清为什么你需要这样的逻辑。可能可以以更简单的方式解决最初的问题。