多くの列を持つjqGridがあり、列幅の合計が固定幅コンテナーよりも大きい場合、次のように表示されます。
グリッドの幅が大きすぎる場合、水平スクロール バーの代わりに。
jQgrid の水平スクロール バーを取得するにはどうすればよいので、グリッドの最大サイズが固定され、さらに列を追加すると単純にスクロールしますか?
また、これが可能であると仮定すると、最初の数列を凍結できますか?
多くの列を持つjqGridがあり、列幅の合計が固定幅コンテナーよりも大きい場合、次のように表示されます。
グリッドの幅が大きすぎる場合、水平スクロール バーの代わりに。
jQgrid の水平スクロール バーを取得するにはどうすればよいので、グリッドの最大サイズが固定され、さらに列を追加すると単純にスクロールしますか?
また、これが可能であると仮定すると、最初の数列を凍結できますか?
おそらくforceFit:true
jqGridオプションを使用します。まず、 を設定forceFit:false
または使用する 必要がありますshrinkToFit:false
。その後、width
jqGrid のオプションを使用するか、 setGridWidthメソッドを使用してグリッド幅を設定できます。列ヘッダーが列のwidth
プロパティに対応するグリッドがあり、グリッドには水平スクロールバーがあります。
更新:shrinkToFit:false
and width:600
(たとえば)を設定して、結果を確認してください。
設定後shrinkToFit:false
、グリッドに水平スクロール バーが表示されることがわかります。スクロールせずに表示できるほど小さいグリッドでも表示されます。これは、対応するバグ修正とともにここに投稿したバグです。この修正はGitHubのコードに含まれていますが、jqGrid 3.8.2 には含まれていません。次の jqGrid リリースには修正が含まれます。width
それでも、グリッドを明示的に設定する/設定できるため、目的のために間違った幅は重要ではありません。
グリッドとページャーを div でラップし、小さなスクリプトを実行することで、静的または自動サイズのフィールドを持つ水平スクロール バーを取得できます。jsfiddle-example
を見ることができます。
<div id="grid_container">
<table id="list"></table>
<div id="pager"></div>
</div>
次のスクリプトを実行します。
$('#grid_container div:not(.ui-jqgrid-titlebar)').width("100%");
私の例では、trirand.com のスクリプトを使用していますが、iv は最新のリリースで試してみましたが、問題なく動作しました。
私が助けたことを願っています。
fluid jqGrid pluginを使用してみてください。おそらく、jqGrid の幅に関する問題を解決するのに役立ちます。
2 番目の質問については、最初のn列を凍結するために、このスーパー プラグインを使用して最初の列を凍結することに成功しています。colmodel に属性を 1 つだけ追加すると、機能します。
幸運を!