10

多くの列を持つjqGridがあり、列幅の合計が固定幅コンテナーよりも大きい場合、次のように表示されます。

ここに画像の説明を入力

グリッドの幅が大きすぎる場合、水平スクロール バーの代わりに。

jQgrid の水平スクロール バーを取得するにはどうすればよいので、グリッドの最大サイズが固定され、さらに列を追加すると単純にスクロールしますか?

また、これが可能であると仮定すると、最初の数列を凍結できますか?

4

3 に答える 3

11

おそらくforceFit:truejqGridオプションを使用します。まず、 を設定forceFit:falseまたは使用する 必要がありますshrinkToFit:false。その後、widthjqGrid のオプションを使用するか、 setGridWidthメソッドを使用してグリッド幅を設定できます。列ヘッダーが列のwidthプロパティに対応するグリッドがあり、グリッドには水平スクロールバーがあります。

更新:shrinkToFit:false and width:600(たとえば)を設定して、結果を確認してください。

設定後shrinkToFit:false、グリッドに水平スクロール バーが表示されることがわかります。スクロールせずに表示できるほど小さいグリッドでも表示されます。これは、対応するバグ修正とともにここに投稿したバグです。この修正はGitHubのコードに含まれていますが、jqGrid 3.8.2 には含まれていません。次の jqGrid リリースには修正が含まれます。widthそれでも、グリッドを明示的に設定する/設定できるため、目的のために間違った幅は重要ではありません。

于 2011-02-13T17:55:22.780 に答える
2

グリッドとページャーを 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 は最新のリリースで試してみましたが、問題なく動作しました。
私が助けたことを願っています。

于 2013-08-20T08:53:55.310 に答える
1

fluid jqGrid pluginを使用してみてください。おそらく、jqGrid の幅に関する問題を解決するのに役立ちます。

2 番目の質問については、最初のn列を凍結するために、このスーパー プラグインを使用して最初の列を凍結することに成功しています。colmodel に属性を 1 つだけ追加すると、機能します。

幸運を!

于 2011-02-14T21:26:03.310 に答える