我只是想知道如何設置一個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