保存之前的Kendo Scheduler Scrape重复规则

时间:2018-12-06 18:18:16

标签: kendo-ui kendo-scheduler

我有一个用于剑道调度程序的自定义编辑模板。 在所有用于设置日期和重复规则的控件下面,都有一个按钮。 按下按钮将加载可用于该约会的人员列表。 为了获得该列表,我正在检查未来访问中的冲突,并且正在核对人员可用性表,以确保它们在这些日期都可用。

所有代码都工作正常,除了在按下“保存”按钮并将数据传输到服务器之前无法获得重复规则。

即使在按下我的按钮之前进行了所有选择,recurrenceRule属性仍为空白。

当您按下保存按钮然后填充模型并将其传输到服务器时,似乎kendo Scheduler会格式化重复规则。

我可以通过阅读kendo递归编辑器控件中的小部件来编写自己的递归规则,但是它们没有在小部件上添加ID,这使得它们很难获得。我认为您可以使用css选择器,但我还没有做过类似的事情,并且宁愿不编写自己的递归编辑器。

在按保存之前,是否有人知道如何在编辑模板中获得重复规则?

流量:

1)在kendo重复编辑器中设置开始和结束日期以及重复模式

2)在编辑模板表单上按按钮以加载可用员工   ---我需要在这里重复规则。   在服务器端,我将约会扩展为所有约会   然后我根据员工时间表检查每次可能的访问

3)选择一名员工并保存记录。   ---我无法在此处进行检查,因为在保存记录之前必须选择员工,并且我只想提供可用员工的列表-保存之前。

我尝试了很多事情,包括:

var recurEditor = $("#RecurrenceRule").data("kendoRecurrenceEditor");
var recurrenceRule = recurEditor.options.recurrenceRule;
alert("recurrenceRule: " + recurrenceRule); 

但是没有运气...

1 个答案:

答案 0 :(得分:0)

这是解决方案。经过2天的尝试后,我知道是否将问题发布在这里,就能找到解决方案。也许这会帮助别人。

在用于加载可用员工的按钮的处理程序上,我有以下代码:

var ruleEditor = $('[id="RecurrenceRule"]').getKendoRecurrenceEditor();
if (ruleEditor) {
vRecurRuleValue = ruleEditor.value();
alert("vRecurRuleValue = " + vRecurRuleValue);
}

我的重复编辑器在我的编辑模板中定义为:

@(Html.Kendo()。RecurrenceEditorFor(model => model.RecurrenceRule).HtmlAttributes(new {data_bind =“ value:recurrenceRule”,data_role =“ recurrenceEditor”})))

我的员工下拉列表有一个过滤器,如下所示:

<div id="EmpAssignedDropdownlist" class="k-edit-field" style="visibility:hidden;">
        @(Html.Kendo().DropDownListFor(m => m.VisitEmployeeM.UserId)
        .AutoBind(false)
        .Text("Please Select") //used to prevent initial datasource.read as AutoBind doesn't work
        .DataTextField("name")
        .DataValueField("id")
        .ValuePrimitive(true)
        .OptionLabel(@Localizer["Please Select"].Value)
        .DataSource(source =>
        {
        source.Read(read =>
        {
        read.Action("GetEmployeesAvailableForPotentialVisit", "DropDownList").Data("filterAvailableEmployeesNoVisitYet");
        }).ServerFiltering(true);
        })
        )
</div>

javascript函数“ filterAvailableEmployeesNoVisitYet”传递重复规则和其他我需要检查冲突并加载下拉列表的数据。