在jqGrid option docs中,它表示你可以将shrinkToFit设置为一个整数但不说它有什么影响。我想知道是否有人知道它是什么。
答案 0 :(得分:3)
好问题。如果查看grid.jqueryui.js的源代码,可以看到在调整网格大小时,该选项会传递给setGridWidth
的内部调用:
$($t).jqGrid('setGridWidth',ui.size.width,opts.shrinkToFit);
然后,如果您查看grid.base.js,可以看到setGridWidth
内部如何使用该选项:
setGridWidth : function(nwidth, shrink) {
return this.each(function(){
...
if(typeof shrink != 'boolean') {
shrink=$t.p.shrinkToFit;
}
...
if(shrink ===false && $t.p.forceFit === true) {$t.p.forceFit=false;}
if(shrink===true) {
由于每个shrink
比较都是使用类型检查(===
)完成的,如果false
是整数,这些比较都是shrinkToFit
。如果shrinkToFit
和forceFit
都设置为false
,则会产生相同的效果。 setColWidth
中也有类似的逻辑。但在这两种情况下,都不会使用shrinkToFit
的实际整数值。
如果shrinkToFit的值是整数,则根据它计算宽度。
但我根本没有看到基于此代码分析的内容。也许这是一个旨在用于未来版本的功能?或许我错过了什么?无论如何,我建议你现在只需将布尔值传递给shrinkToFit
。