更新数据源后,Kendo Scheduler刷新

时间:2015-03-02 10:14:15

标签: javascript jquery kendo-ui telerik kendo-scheduler

我有以下示例(从Kendo Scheduler修改原始演示):

http://dojo.telerik.com/AkIGO

在这个例子中,我创建了一个包含两个事件的数据数组,这些事件在右侧的调度程序视图中正确显示。

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();

但这会导致错误。

有什么想法吗?

3 个答案:

答案 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);