2016-11-15 42 views
0

摘要:
如何導航到\周,月等不同的一天,當檢索調度視圖的開始和結束日期劍道UI調度查看日期範圍

詳細信息:
當導航到一個新的日期範圍在當前選定的視圖中,爲了這篇文章的目的,視圖按月顯示,我想獲取「下一個」視圖的開始日期和結束日期。我想導航到一個新的視圖來觸發一個請求,只有在該日期範圍內的服務器的數據。我們已經在我們用來插入現有UI組件的前端完全開發了CRUD,列表,搜索api,我想使用它。這個問題之前已經被問過了,但我找不到答案。所有答案都需要將調度程序緊密地耦合到「傳輸」。

我以前用過Arshaw和dhtmlx壓光機,除非他們的api最近發生了變化,這是一個簡單的任務。

對於Kendo UI計劃程序 在導航到下一個「視圖」之前調用了「導航」事件(雖然我有一個解決方法,我可以在這裏使用,但並不優雅)。

「dataBinding」事件經常被調用:點擊,拖拽等(再次,我可以圍繞她做一個工作,但又不優雅)。

其他有同樣的問題: http://www.telerik.com/forums/start-end-date-of-month-view ......但Telerik的repsonse是: http://www.telerik.com/support/code-library/kendoui-scheduler-server-filtering http://www.telerik.com/support/code-library/server-filtering http://www.telerik.com/forums/get-scheduler-view-startdate-and-enddate-in-navigate-event
...但我不希望小部件有什麼關係數據檢索,我想要檢測事件「navigateOnArrival」,「viewReady」,「viewRendered」或其他東西,然後讓我們的數據服務處理檢索,否則我將調度器緊緊地綁定到我們的API。

我相當自信我錯過了一些簡單的東西。
在此先感謝,各位意見很高興歡迎。

回答

1

對於任何對此感興趣的人,我從一種方式出發,Telerik也提供了一個答案。

我想通了,勾入 「綁定」 事件,對你的選擇eith方式:

yourSched.schedulerOptions = { 
views: ["timeline"], 
    dataSource, yourSource, 
    dataBinding: function(e){ 
     var vw = yourSched.view(); 
     var startDate = vw.startDate(); 
     var endDate = vw.endDate(); 
     if(e.action==="rebind"){ // <<<-------- This gets called once as nav to diff view or date range. 
     // Now you can retrieve from server 
     myService.getDataFromServer(startDate, endDate) 
     .then(function(response){ 
      ///load etc. 
     }); 
     } 
    } 
} 

Telerik的也提供了一個答案: http://www.telerik.com/forums/scheduler-datasource-refresh-based-on-navigate-date-range#VqcirkrQX0-UK66dHTA0ig