2016-12-14 87 views
0

我們使用Kendo調度程序在會議室中顯示預訂。調度程序加載時不需要大量的歷史數據,但用戶可以輕鬆瀏覽。因此,直到計劃程序導航到其時間間隔,才能加載這些歷史事件。KendoUI調度程序頁面按時間排序的事件

有沒有一種方法來實現所選時間段的尋呼/過濾?我的第一個猜測是實現自定義傳輸並查詢服務器以查找正確的預訂子集,但「read」方法僅調用一次,並且未提供視圖屬性。建議的做法是什麼?

有兩個問題我在這裏:

  1. 我什麼時候加載新數據(事件,方法覆蓋等)
  2. 我怎麼是可見的時間範圍(參數,調度物業等)

回答

2

這裏我們如何實現它:

  1. 我們掛鉤了調度器的「導航」事件,我們在其中設置要加載的時間幀(例如,當前時間,觀看時長)
  2. 我們實施這些要求只有在事件的時限設定在1自定義傳輸)
  3. 我們稱之爲dataSource.read當導航事件被觸發

因爲我們使用AngularJS,這整個事情是通過配置對象完成的,並且時間範圍設置對於包含調度器的控制器範圍是全局的。

+0

我就是這麼做的。 – Shai

0

構建自己的數據源窗口小部件,然後將其設置

var dataSource = new kendo.data.SchedulerDataSource(); 
for (var i = 0; i < 7; i++) { 
    dataSource.add({ 
     id: i, // Sunday = 0 
     start: date_start, 
     end: date_end, 
     title: title, 
     isAllDay: isAllDay, 
    }); 
} 
var scheduler = $("#schedule").data("kendoScheduler"); 
scheduler.setDataSource(dataSource); 
+0

是的,這是一個可能的選擇,但我的問題是我什麼時候從數據庫中提取數據,以及如何找出要提取的內容。到目前爲止,我發現的唯一方法是直接連接到Scheduler上的事件並直接操作數據源,這完全破壞了Kendo人員所做的數據訪問和UI的良好分離。 –

+0

我不確定。你有沒有嘗試在他們的論壇張貼呢? http://www.telerik.com/forums/kendo-ui/scheduler – xinthose

+0

不,還沒有。我們已經創建了一些解決方案,但我並不滿意,但我會在此處將其作爲參考。 –