我有以下示例(从Kendo Scheduler修改原始演示):
在这个例子中,我创建了一个包含两个事件的数据数组,这些事件在右侧的调度程序视图中正确显示。
var data = [{ TaskID: 0, OwnerID: 1, Title: "Bowling tournament 6", Start: "2013-06-10T10:30:00", End: "2013-06-10T11:30:00", IsAllDay: false},{ TaskID: 1, OwnerID: 2, Title: "Golf", Start: "2013-06-11T10:30:00", End: "2013-06-11T11:30:00", IsAllDay: false}];
我已经包含了一个按钮,我抓住了哪个事件然后扩展了这个"数据"数组中还有一个这样的元素:
data.push({ TaskID: 2, OwnerID: 3, Title: "New Event", Start: "2013-06-12T10:30:00", End: "2013-06-12T11:30:00", IsAllDay: false});
console.log(data);
数组的console.log确认添加。因此,我调用以下刷新代码:
$("#scheduler").data("kendoScheduler").refresh();
...它没有更新我的调度程序视图,包含新事件(创建于12月6日星期三)。
我也尝试过:
$('#scheduler').data('kendoScheduler').dataSource.read();
但这会导致错误。
有什么想法吗?
答案 0 :(得分:2)
更新调度程序当前视图的命令是:
var scheduler = $('#scheduler').data('kendoScheduler');
scheduler.view(scheduler.view().name);
答案 1 :(得分:0)
向Kendo Scheduler添加事件并让它自动重新渲染的推荐方法是使用dataSource.add()方法。
$("#scheduler").data("kendoScheduler").dataSource.add({your data});
https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/methods/add
此处更新示例: http://dojo.telerik.com/ifeziLiJ
答案 2 :(得分:0)
保持调度程序更新的一种方法是使用SchedulerDataSource和调度程序的setDataSource方法(https://docs.telerik.com/kendo-ui/api/javascript/ui/scheduler/methods/setdatasource)。
var dataSource = new kendo.data.SchedulerDataSource({
data: data
});
$("#scheduler").data("kendoScheduler").setDataSource(dataSource);