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

这是标准 Telerik 的寻呼机:

这是Redmine的寻呼机:

谢谢。

PS 例如 Devexpress' Grid 有这个 ability

最佳答案

您可以替换负责页面大小的 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
}

现在的问题是您需要将自己的事件绑定(bind)到页面大小的更改并告诉 Telerik 网格的新页面大小。

您可以为向 Controller 提供数据的 Controller 操作提供其他参数。文档中有一个 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>

在服务器端 Controller Action 应该自动将您的 pageSize 映射到 Action 参数。

我希望这会有所帮助,如果您需要更多信息,请告诉我。

关于asp.net-mvc-3 - Telerik MVC Grid 中的自定义寻呼机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9109512/

10-12 13:27