我可以自定义 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/