单独的Kendo Scheduler编辑器模板

时间:2014-02-25 01:10:40

标签: templates kendo-ui scheduler

我可以根据条件加载自定义模板吗?

例如..

如果我正在为机械师预订,那么编辑表格会显示carmodel,yearmake等的文本框。

如果我正在预订地毯清洁剂,编辑表格会显示文本框,包括房间,房间大小等。

我是否能够传递服务的ID并显示正确服务的特定编辑器表单?

如果我们创建不同的调度程序视图,那么我们当前可以显示此功能,但这会创建许多页面的重复。

2 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题,经过长时间搜索并结合我发现的内容后,我来到了这个问题:

1)在我的调度程序之上我有一个kendodropdownlist

<input id="reservationPicker" />
<script>
$("#reservationPicker").kendoDropDownList({
    dataTextField: "name",
    dataValueField: "reservationDefTypeId",
    dataSource: reservationPickerDataSource
});
</script>

2)我的事件有一个额外的字段reservationDef,它将保存下拉列表的信息。

3)我可以在我的模板中使用这些信息

<script id="editorScheduler" type="text/x-kendo-template">
<center>
    <div id="main">
        #if(reservationDef=="mechanic"){#
            <h3>Mechanic stuff</h3>
        #}else if(reservationDef=="carpetCleaner"){#
            <h3>Carpet Cleaner stuff</h3>
        #}else{#
            <h3>unknown type of reservation !</h3>
            #: reservationDef #
        #}#
    </div>
</center>
</script>

4)我在调度程序中使用此模板

editable: {
template: $("#editorScheduler").html()
},

5)但是有了新的约会!我使用调度程序的add事件,并在事件中填写此信息

add: function (e) {
var reservationTypes = $("#reservationPicker").data("kendoDropDownList");
var selectedReservationType = reservationTypes.dataItem();
e.event.reservationDef = selectedReservationType.appointmentTitle;
},

这对我有用。祝你好运!

答案 1 :(得分:0)

不,我没有,但我确实通过在下一页上动态添加文本框找到了解决方法。能够在运行时为调度程序选择视图模型似乎不可能

如果有人知道如何在运行时使用mvc加载特定的视图模型,那么对于未来的想法和开发来说非常有意义。