使 jqGrid 在网络浏览器上响应的方法

2024-03-17

我是 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(使用前将#替换为@)

使 jqGrid 在网络浏览器上响应的方法 的相关文章

随机推荐