我正在努力完成某些事情而且我不确定它是否完全可能。
我有一个使用ASP.NET MVC的Telerik MVC Grid。
网格的默认分页大小为10,但我希望能够根据用户分辨率的大小调整页面大小(行数)。这可能吗?
谢谢,
保
答案 0 :(得分:1)
肯定可能。
我创建了一个完成同样事情的解决方案 - 但是你必须修补它以获得你自己的网格的正确高度(排除任何菜单/页眉/页脚等。)
这些步骤可以帮助您:
首先 - 您需要向MVC网格添加“onLoad”事件:
.ClientEvents(events =>events.OnLoad("onLoad"))
下一步 - 创建一个Javascript事件来处理$(document).ready()中的“onLoad”:
function onLoad(e)
{
//Bread and Butter will go here.
}
最后 - 最后一步是计算网格没有占用的空间(Firebug可能会有所帮助)并修改它,直到你的“公式”在大多数浏览器中运行:
function onLoad(e)
{
//Gets the height of the Window. ($(window).height())
//Subracts the height of any menus/headers/footers (in this case 275)
//Then divide by our "magic number" which you will need to tinker with
//to determine how the grid looks in different browsers. (in this case 28)
var height = Math.floor(($(window).height()-275)/28);
var grid = $("#YourGrid").data("tGrid");
grid.pageSize = height;
}
公式:
$(window).height() - [Occupied Space] / [Magic Number]
[Occupied Space] - Total CSS Height of all objects above the Grid.
[Magic Number] - You will have to play with this one and try it out on
different browsers until you get the expected results.
这应该根据你的窗口高度自动调整你的行数。唯一棘手的部分是使用占用的空间量找出你自己的“公式”,然后选择一个幻数除以。
希望这有帮助!