可能使jqGrid伸展到100%?
是否有可能使一个jqGrid的宽度设置为100%? 我知道列的宽度必须是一个绝对的像素大小,但我还没有find任何设置的实际网格的宽度相对大小。 例如,我想将宽度设置为100%。 而不是100%,似乎使用450px的奇数大小。 在页面上有更多的水平空间,但是与列的宽度等,这将使容器(只有网格)水平滚动。 有没有办法解决这个问题?
autowidth: true
从3.5开始为autowidth: true
这个对我有用:
width: null, shrinkToFit: false,
我用这个设置网格的宽度为父容器的宽度。
function resizeGrid() { var $grid = $("#list"), newWidth = $grid.closest(".ui-jqgrid").parent().width(); $grid.jqGrid("setGridWidth", newWidth, true); }
我结束了使用jqGrids.fluid扩展来做到这一点,它很好。
更新 :该链接似乎已经死了,但存档的文章可以在这里查看。
你可以尝试修复jqGrid的宽度方面,我在这里描述的函数正确调用一个jQueryGrid里面的jqGrid的setGridWidth对话框
尝试将宽度设置为“null”。 这个对我有用。
$(grid).jqGrid({ width: null, });
看起来这不支持。 根据setGridWidth的文档:
dynamic设置新的网格宽度。 参数是:new_width是以像素为单位的新的宽度 …
width
选项的文档也没有提到能够以百分比设置宽度。
这就是说,你可以使用autowidth
特性或类似的技术给网格正确的初始宽度。 然后按照resize-jqgrid-when-browser-is-resize中讨论的方法,确保在浏览器窗口resize时网格被正确resize,这将模拟具有100%宽度的效果。
奇妙的function,我发现这里(stackoverflow)不记得这个职位。 我有高度部分注意到记住(不是为我工作),但宽度是完美的。 扔在你的PHP文件中的任何地方。
$resize = <<<RESIZE jQuery(window).resize(function(){ gridId = "grid"; gridParentWidth = $('#gbox_' + gridId).parent().width(); $('#' + gridId).jqGrid('setGridWidth',gridParentWidth); // $('#' + gridId).jqGrid('setGridHeight', //Math.min(500,parseInt(jQuery(".ui-jqgrid-btable").css('height')))); }) RESIZE;
更简单
$("#gridId").setGridWidth($(window).width() );
你不能以百分比的宽度,而如果你想要根据屏幕分辨率然后设置如下: var w = screen.width
,然后在jqgrid的宽度选项中使用此variables。
希望它会有用。
loadComplete : function () { $("#gridId").jqGrid('setGridWidth', $(window).width(), true); },
我做到了这一点,像魅力一样工作。
$(document).ready(function () { $("#jQGridDemo").setGridWidth(window.innerWidth - offset); });
我已经把50的抵消
尝试这个,
将width: 1100
replace为 autowidth: true,