2012-07-05 35 views

回答

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是一個整數。如果shrinkToFitforceFit都設置爲false,則會產生相同的效果。 setColWidth也有類似的邏輯。但在這兩種情況下,實際的整數值shrinkToFit從不使用。

jqGrid wiki指出

如果shrinkToFit的值是一個整數,該寬度是根據它來計算。

但我只是沒有看到基於此代碼分析。也許這是一個用於未來版本的功能?或者我錯過了什麼?無論如何,我會建議你現在只需傳遞一個布爾值到shrinkToFit

相關問題