#telerik-grid #telerik-mvc
#telerik-grid #telerik-mvc
Вопрос:
Я использую сетку Telerik MVC с привязкой данных Ajax.
Я хотел бы сделать 2 вещи с сеткой Telerik MVC:
- Когда выбрана строка, определите (на стороне клиента), на какой странице в данный момент находится сетка, а также какая строка была выбрана.
- При следующей загрузке сетки (с использованием ajax… Я никогда не покидаю страницу), вернитесь на ту же страницу, чтобы показать последний выбор. (Я думаю, я действительно просто спрашиваю, есть ли способ сразу перейти на страницу сетки после загрузки данных, а не на страницу 1)
Пожалуйста, имейте в виду, я уже знаю о событиях на стороне клиента. Я хотел бы знать, как сделать # 1 из события и # 2 либо со стороны клиента, либо программно каким-либо образом.
Редактировать / Подробнее: я думаю, я знаю, что мне нужно здесь сделать. Поскольку я использую здесь загрузку Ajax, сообщение Ajax вызывается где-то в коде Telerik. Я вижу, что во время этого сообщения Ajax они отправляют параметр «страница» контроллеру. Если бы я мог это как-то отредактировать, я уверен, что это сработало бы, но у меня возникли проблемы с изменением этого параметра.
Заранее спасибо!
Ответ №1:
Ради тех, кто еще ищет это, я понял это:
Получение текущей страницы сетки: для этого я использую jQuery, чтобы определить, какой номер имеет «выбранный» стиль (t-state-active), чтобы определить текущий номер страницы. Пример (мой идентификатор сетки — «cases-grid»):
function getCurrentGridPage() {
///<summary>Gets the current page of the #cases-grid</summary>
var page = $('#cases-grid .t-state-active');
if (page.length == 0) {
return 1; //default to page 1 when unknown
}
return page.text();
}
Вторая часть моего вопроса была на самом деле хорошо задокументирована на сайте Telerik … Я просто пропустил это на некоторое время. Чтобы загрузить сетку на определенную страницу (кроме 1), я добавил в свою сетку следующее:
.Pageable(pager => pager.PageTo(@Model.InitialPage))
И добавил свойство InitialPage в мою модель.