web-dev-qa-db-ja.com

jqGridおよび自動幅オプション。どのように機能しますか?

autowidthオプションをtrueに設定してjqGridを使用しています。

ドキュメント によると:

Trueに設定すると、グリッド幅は親要素の幅に自動的に再計算されます。これは、グリッドの作成時に最初にのみ行われます。親要素の幅が変更されたときにグリッドのサイズを変更するには、カスタムコードを適用し、この目的でsetGridWidthメソッドを使用する必要があります

これにより、グリッドは親要素で使用可能なすべての幅を占有します。このプロパティの別の効果は、使用可能な幅に合わせてすべての列が縮小することです。

これは非常にうまく機能します。ただし、グリッド幅に合わせて列を縮小したくないページが1つありますが、colModel内で設定したスペースを占める必要があります。

どうすればこれを達成できますか?

22
Lorenzo

解決: shrinkToFit: false

25
Lorenzo

セットする

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

10
phil