Telerik MVC Grid 中的自定义寻呼机

发布于 2025-01-01 22:03:45 字数 421 浏览 0 评论 0原文

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

这是标准 Telerik 的寻呼机:

Standart Telerik's pager

这是 Redmine 的寻呼机:

Redmine 寻呼机

谢谢。

PS 例如 Devexpress 的 Grid 具有这种能力

Can i customize appearance of a Grid's pager? I wanna select a page size from list (like Redmine, see 'Per page' block) not from dropdown.

It's standart Telerik's pager:

Standart Telerik's pager

It's Redmine's pager:

Redmine pager

Thanks.

PS for instance Devexpress' Grid has this ability

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

新雨望断虹 2025-01-08 22:03:45

您可以替换负责页面大小的 DOM 元素。您需要在加载网格时执行此操作。

View

@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 映射到操作参数。

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

You could replace the DOM element that is responsible for page size. You need to do it when grid is loaded.

View

@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
}

Now the problem is that you need to bind own event to the change of the page size and tell new page size for the Telerik grid.

You can provide additional parameters to the controller action that provides data to your controller. There is an example in the documentation how to add additional data to your request.

<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>

In the server side controller action should automatically map your pageSize to an action parameter.

I hope this helps, let me know if you need more information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文