問題の本当の解決策を提案することはできませんが、問題をどのように解釈するかを書くことにしました。簡単な答えは次のとおりです。凍結されたdivの位置の計算にsetFrozenColumnsメソッドにバグがあります。top
コードを改善する必要があります。
2つのdivがあります。1つはフリーズヘッダー用(divはクラスを持っていますfrozen-div ui-jqgrid-hdiv
)、もう1つはフリーズボディ用(divはクラスを持っていますfrozen-bdiv ui-jqgrid-bdiv
)です。公式のjqGridデモページから「FrozenCols.GroupHeader(new)」/「Frozencolumn with group header」デモを開きtop
、さまざまなWebブラウザーで属性の値を調べると、一部のブラウザーでtop
は、正しく表示するには、1pxに増減します。
たとえば、Firefox 16では、ダイビングはtop: 24px;
すべてtop: 70px;
問題ないように見えます。
IE9では1つは同じ値ですが、グリッドを正しく表示するには、値をtop: 25px;
とに変更する必要があります。top: 71px;
同じように、Chrome 22でも同じ値top: 24px;
になりtop: 70px;
ます。問題を解決するには、値をtop: 23px;
とに変更します。top: 69px;
Chromeの開発者ツール(およびIEの場合も同じ)を使用して、top
属性を変更すると問題が解決することを確認できます。
変更後、デモの外観は少なくとも100%で完璧になりますが、ズームを200%に変更すると、元の値が表示され、より良くなります。top: 24px;
top: 70px;
問題の本当の解決は簡単ではないと思います。グリッドのフリーズされた部分のすべての行とフリーズされていない部分のすべての行に高さ属性を設定する方向に進みます。答えには、その方向への第一歩があります。欠点は、編集後に行の正しい高さを再計算するために追加のコードが必要になることです。