可能使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: 1100replace autowidth: true,