Kendo UI Scheduler个人营业时间

时间:2014-07-02 17:11:11

标签: kendo-scheduler

我正在尝试为kendo调度程序定义个人营业时间。 kendo调度程序仅为每个工作日使用单个开始/结束时间。我想特别定义每一天的开始/结束时间(即星期一与星期二的时间不同)。

有人最近在

上提出了这个问题

http://www.telerik.com/forums/set-business-hours-for-individual-days

我想知道是否有人扩展了添加类似功能的视图。

我无权访问视图的非缩小版本(kendo.ui.DayView,kendo.ui.WeekView)。基于kendo.scheduler.dayview.min.js文件,我假设我必须扩展DayView,并覆盖_content函数,但是我无法将缩小版本的函数复制到扩展视图中。

我目前正在使用jQuery循环遍历时间段以在数据绑定事件上为此添加css类,但是,如果您在每周视图上并且设置了主要滴答,那么性能可能非常糟糕到5。

循环遍历时隙的代码类似于 http://www.telerik.com/forums/color-code-resource-unavailable-days-hours

dataBound: function (e) {
    var scheduler = this;
    var view = scheduler.view();

    view.table.find("td[role=gridcell]").each(function () {
        var element = $(this);
        var slot = scheduler.slotByElement(element);
        //your custom logic based on the slot object
        if (true) {
            element.addClass("customClass");
        }
    })
}

1 个答案:

答案 0 :(得分:3)

要明确定义每一天的开始/结束时间,请使用" schedulerInstance.options"物业在"导航" scheduler.e.g。

的方法
 navigate: function (e) {
       var schedulerInstance = $("#schedulerInterface").data('kendoScheduler');
       var options = schedulerInstance.options;  

       switch (new Date().getDay()) 
       {
        case 0:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case 1:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case 2:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case 3:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case 4:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case 5:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        case  6:
           options.startTime = // Your start time;
           options.endTime = //Your end time;
           break;
        }                        
    }

希望它有所帮助。