New to Kendo UI for jQuery? Start a free 30-day trial
Displaying Week Numbers in Kendo UI for jQuery Scheduler Timeline and Month Views
Updated on Dec 3, 2025
Environment
| Product | Kendo UI for jQuery Scheduler |
| Version | 2025.4.1111 |
Description
I want to display week numbers in the header of the Kendo UI for jQuery Scheduler Timeline and Month views. This is not a built-in feature, but I need to calculate and show the week numbers dynamically.
This knowledge base article also answers the following questions:
- How to add week numbers in Kendo UI Scheduler header?
- How to calculate and display week numbers in Scheduler Timeline view?
- How to customize Scheduler Month view to show week numbers?
Solution
To display week numbers in the Scheduler Timeline and Month views, use custom logic and modify the Scheduler's calendar options.
Steps
- Initialize the Scheduler.
- Access the Scheduler's internal calendar.
- Set the
weekNumberoption of the calendar totrue.
Here is the implementation:
javascript
$(document).ready(function() {
var scheduler = $("#scheduler").data("kendoScheduler");
// Display the Scheduler's calendar
scheduler._showCalendar();
// Hide the animation container to prevent visual interference
$('.k-animation-container').css('display', 'none');
// Close the popup to finalize the changes
scheduler.popup.close();
// Update the calendar's options to include week numbers
var calendar = scheduler.calendar;
calendar.setOptions({ weekNumber: true });
});
Demo
You can see a live demonstration of the solution here:
<div id="example">
<div id="team-schedule">
<div id="people">
<input
checked
type="checkbox"
id="alex"
aria-label="Alex"
value="1"
/>
<input checked type="checkbox" id="bob" aria-label="Bob" value="2" />
<input type="checkbox" id="charlie" aria-label="Charlie" value="3" />
</div>
</div>
<div id="scheduler"></div>
</div>
<script>
$(function () {
$("#scheduler").kendoScheduler({
date: new Date("2013/6/13"),
startTime: new Date("2013/6/13 07:00 AM"),
height: 600,
views: [
"day",
{ type: "workWeek", selected: true },
"week",
"month",
"year",
"agenda",
{ type: "timeline", eventHeight: 50 },
],
timezone: "Etc/UTC",
dataSource: {
batch: true,
transport: {
read: {
url: "https://demos.telerik.com/kendo-ui/service/tasks",
dataType: "jsonp",
},
update: {
url: "https://demos.telerik.com/kendo-ui/service/tasks/update",
dataType: "jsonp",
},
create: {
url: "https://demos.telerik.com/kendo-ui/service/tasks/create",
dataType: "jsonp",
},
destroy: {
url: "https://demos.telerik.com/kendo-ui/service/tasks/destroy",
dataType: "jsonp",
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
},
},
schema: {
model: {
id: "taskId",
fields: {
taskId: { from: "TaskID", type: "number" },
title: {
from: "Title",
defaultValue: "No title",
validation: { required: true },
},
start: { type: "date", from: "Start" },
end: { type: "date", from: "End" },
startTimezone: { from: "StartTimezone" },
endTimezone: { from: "EndTimezone" },
description: { from: "Description" },
recurrenceId: { from: "RecurrenceID" },
recurrenceRule: { from: "RecurrenceRule" },
recurrenceException: { from: "RecurrenceException" },
ownerId: { from: "OwnerID", defaultValue: 1 },
isAllDay: { type: "boolean", from: "IsAllDay" },
},
},
},
filter: {
logic: "or",
filters: [
{ field: "ownerId", operator: "eq", value: 1 },
{ field: "ownerId", operator: "eq", value: 2 },
],
},
},
resources: [
{
field: "ownerId",
title: "Owner",
dataSource: [
{ text: "Alex", value: 1, color: "#f8a398" },
{ text: "Bob", value: 2, color: "#2572c0" },
{ text: "Charlie", value: 3, color: "#118640" },
],
},
],
});
$("#people :checkbox").change(function (e) {
var checked = $.map($("#people :checked"), function (checkbox) {
return parseInt($(checkbox).val());
});
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.dataSource.filter({
operator: function (task) {
return $.inArray(task.ownerId, checked) >= 0;
},
});
});
});
$(document).ready(function () {
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler._showCalendar();
$(".k-animation-container").css("display", "none");
scheduler.popup.close();
var calendar = scheduler.calendar;
calendar.setOptions({ weekNumber: true });
});
</script>
<style>
#team-schedule {
background: url("../content/web/scheduler/team-schedule.png")
transparent no-repeat;
height: 115px;
position: relative;
}
#people {
background: url("../content/web/scheduler/scheduler-people.png")
no-repeat;
width: 345px;
height: 115px;
position: absolute;
right: 0;
}
#alex {
position: absolute;
left: 4px;
top: 81px;
}
#bob {
position: absolute;
left: 119px;
top: 81px;
}
#charlie {
position: absolute;
left: 234px;
top: 81px;
}
</style>