【问题标题】:Kendo Scheduler Refresh after updating datasource更新数据源后 Kendo 调度程序刷新
【发布时间】:2015-03-02 10:14:14
【问题描述】:

我有以下示例(修改了 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();

...这不会更新我右侧的调度程序视图以包含新事件(为 6 月 12 日星期三创建)。

我也试过了:

$('#scheduler').data('kendoScheduler').dataSource.read();

但这会导致错误。

有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    更新调度器当前视图的命令是:

    var scheduler = $('#scheduler').data('kendoScheduler');
    scheduler.view(scheduler.view().name);
    

    【讨论】:

    • @Silvanmidix :调度程序不显示前 2 个事件“保龄球锦标赛 6”和“高尔夫”,这应该在调度程序加载时看到。所以需要先纠正。 (我认为 dataSource:{data:data} 有问题)。另一件事是,一旦您将新记录推送到数据中,请检查它是否被正确推送,因为我认为您也需要扩展命令。下面是我是如何做到的 data.push($.extend({},data)) 然后您需要在单击按钮时将数据设置为调度程序的数据源,然后使用上述命令更新当前视图。希望我对您有所帮助。
    【解决方案2】:

    将事件添加到 Kendo 调度程序并使其自动重新渲染的推荐方法是使用 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

    【讨论】:

      【解决方案3】:

      保持调度程序更新的一种方法是使用 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-08
        • 2012-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2013-09-03
        • 1970-01-01
        相关资源
        最近更新 更多