autowidth
オプションをtrue
に設定してjqGridを使用しています。
ドキュメント によると:
Trueに設定すると、グリッド幅は親要素の幅に自動的に再計算されます。これは、グリッドの作成時に最初にのみ行われます。親要素の幅が変更されたときにグリッドのサイズを変更するには、カスタムコードを適用し、この目的でsetGridWidthメソッドを使用する必要があります
これにより、グリッドは親要素で使用可能なすべての幅を占有します。このプロパティの別の効果は、使用可能な幅に合わせてすべての列が縮小することです。
これは非常にうまく機能します。ただし、グリッド幅に合わせて列を縮小したくないページが1つありますが、colModel
内で設定したスペースを占める必要があります。
どうすればこれを達成できますか?
解決: shrinkToFit: false
セットする
autowidth = true、shrinkToFit = false
この設定により、jqgrid frameの幅が親に等しくなります(通常はブラウザの幅に等しくなります)。およびcolumn widthはcolModelで定義された幅と同じです。 unfornatelly jqgrid 4.3は、コンテンツの幅(セル内のテキスト)に基づいてcolumn widthに自動調整/サイズ変更するプロパティを設定することにより、簡単な方法を提供しません。
jqgridのデフォルト:
autowidth = false、shrinkToFit = true
jqgrid option wiki ;のjqgridのオプションの3つのプロパティを参照してください。
自動幅
shrinkToFit
幅
jqgrid colModel wiki のcolModelのプロパティ
幅
修繕
Jqgridフレーム幅の優先度は*jqgridフレーム自動幅> jqgridフレーム幅>列幅の合計*
列幅の優先順位はcolmodel fixed> jqgrid frame shrinkToFit> colmodelwidth