2012-02-02 3 views
4

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

Это пейджер Standart Telerik в:

Standart Telerik's pager

Это пейджер Экспортировать в:

Redmine pager

Спасибо.

PS для сетки экземпляра DevExpress' имеет этот ability

+0

ahhh ... Я надеюсь, что разработчики telerik будут немного быстрее добавлять новые функции. В настоящее время DevExpress отлично работает (особенно в сетях, связанных с технологией). Возможно, я эмигрирую в DevExpress, наконец, в свои новые проекты. –

+1

Вы видели пользовательский пейджинг в онлайн-примере, это может помочь http://demos.telerik.com/aspnet-mvc/grid/custombinding – Tassadaque

+0

Tassadaque, да - я видел его и использовал его :) К сожалению, пользовательская привязка не коррелирует с Пользовательский пейджер :( – vladimir77

ответ

1

Вы могли бы заменить 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 сетка.

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

<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 с параметром действия.

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

Смежные вопросы