我是 jqGrid 的新手,我需要在调整网络浏览器窗口大小时调整网格大小。我已经申请autowidth : true;
, shrinkToFit: true;
在网格中,但这不起作用。
CSS的设定width : 100%
是唯一的一种实现,但对于 jqGrid 来说效果不佳
哪个集合width
in px
明确其许多内部结构。
解决这个问题的完美方法是什么?
jqGrid使用固定width
许多内部结构(div、表等)的值。所以不能只设置 CSSwidth : 100%
。尽管如此,还有另一种方法可以做到同样的事情。 1人可以注册resize
事件处理程序开启window
对象并调用setGridWidth
明确地。方法调整所有内部结构jqGrid 的新宽度。所以这将是干净的方法。
如果你使用autowidth: true
然后 jqGrid 将 jqGrid 的宽度设置为其父级的宽度仅一次。代替$(window).resize
我们可以得到的处理程序new父级的(当前)宽度并重置网格的值width
。相应的代码如下
$(window).on("resize", function () {
var $grid = $("#list"),
newWidth = $grid.closest(".ui-jqgrid").parent().width();
$grid.jqGrid("setGridWidth", newWidth, true);
});
I used $("#list").closest(".ui-jqgrid")
代替$("#list")
因为 jqGrid 构建了一些潜水over主要的<table>
元素。$("#list").closest(".ui-jqgrid")
给出为外层div 包含网格的所有元素。
修改后的小提琴演示 http://jsfiddle.net/ejpn9/4/现场演示代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)