我只是想知道如何设置一个jqGrid列宽度为自动?JQGrid列自动宽度
...
colModel: [
{ name: 'MyDescription', index: 'description', align: 'left', width: 150, sortable: false },
...
对上述说法我怎么可以指定自动宽度列,使其适合于它的最大含量的大小。
我只是想知道如何设置一个jqGrid列宽度为自动?JQGrid列自动宽度
...
colModel: [
{ name: 'MyDescription', index: 'description', align: 'left', width: 150, sortable: false },
...
对上述说法我怎么可以指定自动宽度列,使其适合于它的最大含量的大小。
在jqGrid中没有办法指定autowidth列。但是,您可以将网格的shrinkToFit选项设置为true,并设置一些近似的宽度值(例如20,20,20,80),并将列的宽度缩放为网格的宽度。
shrinkToFit:
此选项描述针对与所述格栅的宽度每列的初始宽度的计算的类型。如果该值为true并且设置了宽度值选项,则:每个列宽都根据定义的选项宽度进行缩放。例如:如果我们定义宽度为80和120像素的两列,但希望网格具有300像素 - 则重新计算列如下:1-列= 300(新宽度)/ 200(所有宽度之和)* 80(列宽)= 120和2列= 300/200 * 120 = 180。网格宽度为300px。如果该值为false并且宽度值选项被设置,那么:网格的宽度是在选项中设置的宽度。列宽不会重新计算,并具有在colModel中定义的值。
您可以尝试使用tableToGrid,据我所知,它可以保留宽度。如果是这样,你也可以查看它的源代码,如果它的行为不完全适合你的需要。
您可以使用方法setGridWidth
。
例子:
$(window).on('resize', function() {
$("#jqgrid").setGridWidth($(window).width());
}).trigger('resize');
这主要是为我工作。
<div id="myjqgridwrapper" style="width:100%;">
<table id="myjqgrid"></table>
<div id="myjqgridfooter"></div>
</div>
<script type="text/javascript">
//script to autosize grid
//don't forget autowidth:true for initial size
$(window).bind('resize', function(){
//set to 0 so grid does not continually grow
$('#myjqgrid').setGridWidth(0);
//resize to our container's width
$('#myjqgrid').setGridWidth($('#myjqgridwrapper').width());
}).trigger('resize');
</script>
Try this. Worked For Me
.ui-common-table{
width: 100% !important;
}
.ui-jqgrid .ui-jqgrid-hbox{
padding-right: 0px !important;
}
这不适合我。 – abd3721 2017-07-08 20:49:51
这是一个重大的缺点jqGrid的。 – 2012-08-09 14:47:27