Avo*_*oid 8 html javascript css jquery jqgrid
我是jqGrid的新手,我需要在调整Web浏览器窗口大小时调整网格大小.我已经申请 autowidth : true;
,shrinkToFit: true;
在网格但不工作.
设置CSS width : 100%
是唯一的一个实现,但是在jqGrid的情况下,
它在许多内部结构width
中px
明确设置并不好.
什么是解决它的最佳方法?
Ole*_*leg 22
jqGrid width
在许多内部结构(div,表等)上使用固定值.所以不能只设置CSS width : 100%
.然而,还有另一种方法可以做到这一点.可以resize
在window
对象上注册事件处理程序并setGridWidth
显式调用.该方法将jqGrid的所有内部结构调整为新宽度.所以这将是干净的方法.
如果你使用,autowidth: true
那么jqGrid只将jqGrid的宽度设置为它的父级宽度一次.在$(window).resize
处理程序内部,我们可以获得父级的新(当前)宽度并重置网格的值width
.相应的代码如下
$(window).on("resize", function () {
var $grid = $("#list"),
newWidth = $grid.closest(".ui-jqgrid").parent().width();
$grid.jqGrid("setGridWidth", newWidth, true);
});
Run Code Online (Sandbox Code Playgroud)
我用$("#list").closest(".ui-jqgrid")
的,而不是$("#list")
因为jqGrid的建立一些潜在的主要<table>
元素.$("#list").closest(".ui-jqgrid")
给出包含网格所有元素的外部 div.
改进的小提琴演示演示代码实时.