I am using jqGrid with the autowidth
option set to true
.
According to the documentation:
When set to true, the grid width is recalculated automatically to the width of the parent element. This is done only initially when the grid is created. In order to resize the grid when the parent element changes width you should apply custom code and use a setGridWidth method for this purpose
This makes the grid occupy all the width available in the parent element.
Another effect of this property is that every column shrinks to fit the width available.
This works very well. However, I have one page where don't want the columns to shrink to fit the grid width, but they should occupy the space that I set within the colModel
for them.
How can I achieve this?
Solution: shrinkToFit: false
set
autowidth=true,
shrinkToFit=false
this setting will make width of jqgrid frame equal the parent ( usually equal the width of browser ) ; and column width equal the width defined in colModel ;
unfornatelly jqgrid 4.3 donot give an simple way by setting a property to auto fit/resize the column width basing on width of the content ( text in cell );
default in jqgrid :
autowidth=false,
shrinkToFit=true
please see the three properties of options of jqgrid in jqgrid option wiki;
autowidth
shrinkToFit
width
and property of colModel in jqgrid colModel wiki
width
fixed
I think the priority for jqgrid frame width is *jqgrid frame autowidth > jqgrid frame width > sum of column width *
the priority for column width is colmodel fixed > jqgrid frame shrinkToFit > colmodel width