2014-01-10 17 views
0

我剛剛開始使用Kendo UI和Angular,並試圖將調度程序與SQL數據庫一起使用。問題是當一個新條目被添加到調度程序中時,我可以看到該條目最初是在UI中創建的(在新的事件窗口後面),但是當單擊「保存」時事件已成功保存在數據庫中,但是該條目不再在用戶界面中,我可以看到獲取它的唯一方法是重新加載丟失當前視圖設置的數據。kendo ui調度程序不顯示新條目

我在做/不做一些愚蠢的事情嗎?或者有沒有一種方法可以顯示新事件而不需要再次完整讀取數據?使用K-選項

<body ng-controller="schedulCtrl"> 
<div kendo-scheduler k-date="today" k-options="schOptions"></div> 
</body> 
+0

是您在服務器上創建處理程序的返回值e創建模型? –

+0

嗨拉爾斯,謝謝你的迴應。是啊,就是。我現在通過捕獲保存事件,然後在Sync中使用它來執行datasource.read來解決它。不知道這是做到這一點的最佳方式,但似乎可以正常工作 – user3181505

+0

嗨,我的回答是否幫助您解決問題?如果是的話,你能否將我的答覆標記爲答案?這樣,使用Google發現問題的人可以更好地保證答案是正確的。 在此先感謝。 –

回答

0

這是調度程序的故障排除幫助文章中(原因是該服務未返回創建的記錄)中列出的調度

 var schedSource = new kendo.data.SchedulerDataSource({ 
    schema: { 
     model: { 
      id:"taskId", 
      fields: { 
        taskId: { 
        from: "id", 
        type: "number" 
       }, 
       start: { type: "date", from: "start" }, 
       end: { type: "date", from: "end" }, 
       title: { from: "title", defaultValue: "No title", validation: { required: true } }, 
      } 
     } 
    }, 
     transport: { 
     read: { 
      url: '/sched', 
      dataType: 'json', 
      cache: false 
     }, 
     update : { 
      url: '/sched/update', 
      dataType: 'json' 
     }, 
     create: { 
      url: '/schedCreate', 
      dataType: "json" 
     }, 
     destroy: { 
      url: '/schedDelete', 
      dataType: "json" 
     }, 
     parameterMap: function (options, operation) { 
      if (operation != "read") { 
       var d = new Date(options.start); 
       options.start = kendo.toString(new Date(d), "yyyy-MM-ddTHH:mm:ss"); 
       console.log(options.start); 
       var d = new Date(options.end); 
       options.end = kendo.toString(new Date(d), "yyyy-MM-ddTHH:mm:ss");       
      } 

     }, 
    }, 

}); 
$scope.schOptions.dataSource = schedSource;