2016-12-14 7 views
0

Kendo 스케줄러를 사용하여 회의실에 예약을 표시합니다. 스케줄러가로드 될 때 필요하지 않지만 사용자가 쉽게 찾아 볼 수있는 많은 양의 기록 데이터가 있습니다. 이 때문에 스케줄러가 시간 간격으로 이동할 때까지 이러한 내역 이벤트를로드 할 필요가 없습니다.KendoUI 스케줄러 페이지 시간대 별 이벤트

선택한 시간 슬롯별로 페이징/필터링을 구현할 수 있습니까? 내 첫 번째 추측은 사용자 지정 전송을 구현하고 거기에 올바른 예약 하위 집합에 대한 서버를 쿼리하는 것이지만 "읽기"메서드는 한 번만 호출되고 뷰 속성은 제공되지 않습니다. 이것을하는 권고 된 방법은 무엇입니까?

두 가지 문제가 있습니다 내가 여기있다 :

  1. 을 내가 (등 이벤트, 메소드 재정의) 새로운 데이터
  2. 은 어떻게 볼 수있는 시간 범위를 얻는가를로드 할 때 (매개 변수, 스케줄러 위젯에 대한 자신의 데이터 소스를 구축, 등)

답변

2

가 설정 우리가 구현 한 방법 :

  1. 로드 할 시간 프레임을 설정 한 스케줄러의 "navigate"이벤트에 연결했습니다 (e.i. 현재 시간, 뷰 길이)
  2. 우리는
  3. 네비 이벤트가

    우리가 AngularJS와 사용으로

을 발사 할 때 우리는 dataSource.read 전화
  • , 1 시간 프레임 설정에서 이벤트 만 요청하는 사용자 정의 전송)를 구현 이 모든 것은 구성 객체를 통해 수행되며 시간 프레임 설정은 스케줄러가 포함 된 컨트롤러의 범위에 대해 전역입니다.

  • +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

    아니요, 아직 없습니다. 우리는 그다지 만족하지 못하는 몇 가지 해결책을 만들었지 만 여기서는 참고 자료로 게시 할 것입니다. –