2017-07-14 5 views
0

私が取り組んでいるアプリケーションにはui-gridというページがあります。最近、グリッドに水平スクロールバーを追加し、グリッドが水平方向にスクロールされている間に列の一部がフリーズするように「固定」を有効にしました。私が気づいたui-gridにスクロールバーを追加すると下の行がオーバーレイされます

一つの奇妙な挙動が新しく追加されたスクロールバーがテーブルの最後の行に重なっていることです。他の誰かがこれを経験したことがありますか?もしそうなら、起こるのを止める方法を考え出しましたか?私は考えることができるすべてのものを試しました(つまり、行の高さの変更、グリッドの動的なサイズ変更など)が動作していません。私は他の誰かがこの問題を克服し、彼らがどのようにそれをしたか教えてくれることを願っています。

enter image description here

答えて

0

まあ、私はこれを解決する方法を発見し、それは私たちのグリッドが作成されている方法に特にです。

水平スクロールしているすべてのグリッドは、最初の3つの列が固定されています。以下のコードを使用して、問題のグリッドにピン設定用のグリッドオプションがあるかどうかを確認しました。グリッドがscrollableの場合、グリッドの高さに15を追加するだけです。これにより、グリッドが大きくなり、スクロールバーには下の行を重ねることなく余裕ができます。

var scrollbarOffset = 15; 
var buffer = 5; 
var gridHeight = ((rowCount > 0 ? rowCount : 1) * rowHeight) + footer + header + filter + buffer; 
var scrollable= $.grep(element[0].attributes, 
function (rn) { 
       return rn.nodeName === "ui-grid-pinning"; 
       }).length > 0; 

if (scrollable) { 
    gridHeight = gridHeight + scrollbarOffset; 
} 
関連する問題