【问题标题】:How do I preserve Telerik MVC grid column order and sizes when paging?分页时如何保留 Telerik MVC 网格列的顺序和大小?
【发布时间】:2011-11-27 23:38:22
【问题描述】:
我有一个 Telerik ASP.NET MVC 网格,它使用服务器数据绑定并启用了列大小调整和重新排序。如果我手动对列重新排序或调整大小,然后使用网格分页器跳转到网格的另一页,则列大小和顺序将恢复为默认设置。在分页时保留用户对列大小和顺序的更改的最佳方法是什么?
在 Telerik 演示网站上,我找到了一个使用带有 AJAX 数据绑定的隐藏表单字段的示例,但据我所知,这不适用于服务器绑定 HTTP GET。我开始使用 cookie 而不是隐藏表单字段,但它开始变得混乱,我正在寻找有关替代方法的反馈。
【问题讨论】:
标签:
asp.net-mvc
telerik-grid
telerik-mvc
【解决方案1】:
您可以将列宽向下传递到网格,或者作为模型的一部分或使用 ViewBag(或者如果您使用 MVC 2,则使用 ViewData)
然后您可以使用以下方法设置列宽:
.Width((int)ViewBag.col1Width);
- 或 -
.Width((int)model.col1Width);
然后您可以通过OnColumnResize 事件使用回调更新值(当用户调整网格列的大小时会引发此事件)
如果您正在使用会话状态,您还可以将值存储在会话变量中,前提是它们要在整个用户会话中持续存在。