0

剣道スケジューラの個々の営業時間を定義しようとしています。剣道スケジューラーは、各勤務日に単一の開始/終了時刻のみを使用します。各日の開始時刻と終了時刻を具体的に定義したい (つまり、月曜日と火曜日の時刻が異なる)。

誰かが最近この質問をしました

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 クラスを追加しています。

タイムスロットをループするコードは、 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");
        }
    })
}
4

1 に答える 1

3

各日の開始/終了時刻を具体的に定義するには、scheduler.eg の「Navigation」メソッドで「schedulerInstance.options」プロパティを使用します。

 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;
        }                        
    }

それが役に立てば幸い。

于 2014-09-10T09:27:30.383 に答える