Я пытаюсь реализовать пейджинг на стороне сервера в listView, но он отображает только первую страницу. Я выполнил некоторую отладку и обнаружил, что в событии изменения моего пейджера он никогда не вызывал чтение в источнике данных, поэтому я решил вызвать его вручную следующим образом:
App.photoLineupPager = $("#photo-lineup-pager").kendoPager({
"dataSource": $("#photo-lineup").data("kendoListView").dataSource,
"change": function (e) {
e.preventDefault();
$("#photo-lineup").data("kendoListView").dataSource.read();
}
}).data("kendoPager");
Теперь он достигает конечной точки, возвращает ожидаемые данные, и значок загрузки появляется там, где должен быть listView. Однако listView не отображает никаких данных и в моей консоли, если я позвоню:
$("#photo-lineup").data("kendoListView").dataSource.data()
Он имеет значения в возвращаемом объекте, но если я позвоню:
$("#photo-lineup").data("kendoListView").dataSource.view()
В возвращаемом объекте нет значений. И я считаю, что именно поэтому мой listView не отображает ничего дальше первой страницы. Итак, у меня есть пара вопросов:
- Почему данные заполняются, а представление нет?
- Как это исправить?
Обновление Таким образом, это был буквально вопрос установки serverPaging в источнике данных в значение true. Однажды я указал, что мне больше не нужно вызывать событие чтения и в событии изменения моего пейджера.