Telerik MVC Grid中的自定义寻呼机

时间:2012-02-02 09:00:48

标签: asp.net-mvc-3 telerik-grid telerik-mvc

我可以自定义网格寻呼机的外观吗?我想从列表中选择页面大小(如Redmine,请参阅'每页'块),而不是从下拉列表中选择。

这是Telerik的传呼机:

Standart Telerik's pager

这是Redmine的寻呼机:

Redmine pager

感谢。

PS例如Devexpress'Grid有ability

1 个答案:

答案 0 :(得分: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映射到操作参数。

我希望这会有所帮助,如果您需要更多信息,请与我们联系。