2016-12-14 12 views
0

Мы используем планировщик Kendo для отображения заказов в конференц-залах. Существует много исторических данных, которые не требуются при загрузке Планировщика, но пользователь может легко просматривать. Из-за этого эти исторические события не нужно загружать до тех пор, пока Планировщик не будет переходить к их временному интервалу.KendoUI Планировщик Страница События по времени

Есть ли способ реализовать пейджинг/фильтрацию по выбранному временному интервалу? Мое первое предположение заключалось в том, чтобы реализовать пользовательский транспорт и запросить сервер для правильного подмножества заказов там, но метод «читать» вызывается только один раз, а свойства представления не предоставляются. Каким будет этот способ?

Есть две проблемы, я здесь:

  1. Когда я загрузить новые данные (событие, метод переопределение и т.д.)
  2. Как получить диапазон времени, который виден (параметр, планировщик недвижимость и т.д.)

ответ

2

Вот как мы это осуществили:

  1. Мы подключились к событию «навигации» планировщика, где мы устанавливаем временные рамки для загрузки (e.i. текущее время, длина вида)
  2. Мы реализовали собственный транспорт, который запрашивает только событие в настройках времени кадра в 1)
  3. Мы называем dataSource.read при навигации события вызывается

Как мы используем AngularJS, все это делается через объект конфигурации, а параметр временного флага является глобальным для объема контроллера, содержащего планировщик.

+0

Вот как бы я это сделал. – Shai

0

Создайте свой собственный DataSource для виджета, а затем установить его

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

Да, это возможный вариант, но моя проблема в том, когда я вытаскиваю из базы данных и как мне узнать, что делать. Единственный способ, который я нашел до сих пор, - это подключиться к событиям в Планировщике и напрямую манипулировать источником данных, что полностью нарушит хорошее разделение доступа к данным и пользовательского интерфейса, которые сделали ребята Kendo. –

+0

Я не уверен. Вы уже пробовали размещать на своем форуме? http://www.telerik.com/forums/kendo-ui/scheduler – xinthose

+0

Нет, еще нет. Мы создали какое-то решение, которое мне не очень нравится, но я отправлю его здесь как ссылку. –