Пользовательский пейджер в Telerik MVC Grid - PullRequest
4 голосов
/ 02 февраля 2012

Могу ли я настроить внешний вид пейджера Grid? Я хочу выбрать размер страницы из списка (например, Redmine, см. Блок «На страницу»), а не из выпадающего списка.

Это стандартный пейджер Telerik:

Standart Telerik's pager

Это пейджер Redmine:

Redmine pager

Спасибо.

PS например, у Devexpress 'Grid есть эта способность

1 Ответ

1 голос
/ 27 февраля 2012

Вы можете заменить элемент DOM, который отвечает за размер страницы.Это необходимо сделать при загрузке сетки.

Просмотр

@Html.Telerik().Grid(Model)
    .Name("Grid")
    .ClientEvents(events => events.OnLoad("Grid_onLoad"))

JavaScript

function Grid_onLoad(e)
{
    var html = { place your favorite template engine here }
    $('#YourGridId').find('.t-page-size').html(html);
    // bind 'click' event to your new control
}

Теперьпроблема заключается в том, что вам нужно привязать собственное событие к изменению размера страницы и сообщить новый размер страницы для сетки Telerik.

Вы можете указать дополнительные параметры для действия контроллера, которое предоставляет данные вашему контроллеру.В документации есть пример , как добавить дополнительные данные к вашему запросу.

<script type="text/javascript">
function Grid_onDataBinding(e) {

    // pass additional values by setting the "data" field of the event argument
    e.data = {
        pageSize: // TODO: provide selected page size from your new control
    };
}
</script>

В контроллере на стороне сервера действие должно автоматически сопоставить ваш pageSize с параметром действия.

Надеюсь, это поможет, дайте мне знать, если вам нужна дополнительная информация.

...