私はここで2つの同様の質問を見つけましたが、それらは私を助けませんでした.私のコードは次のとおりです:
var grid = Ext.create('Ext.grid.Panel', {
autoScroll: true,
// if set this to any numeric value, then everything works just good, but
// i was hoping that `ExtJS` already can detect browser window height, am i wrong ?
height: '100%',
title: 'Products',
store: store,
itemId: 'product_grid',
columns: [.. columns skipped ...],
plugins: [ rowEditing ],
dockedItems: [ ..addRow button here..]
});
var panel = Ext.create('Ext.panel.Panel', {
autoScroll: true,
items: [
{
xtype: 'productGrid'
}
]
});
Ext.create('Ext.container.Viewport', {
layout: 'fit',
items: panel
});
ブラウザウィンドウ全体を埋めるスクロール可能なグリッドが必要ですが、ここのグリッドは高さが拡張されないため、グリッドの行が0の場合、高さが0になり、「行の追加」を押すと、追加された行がスクロールバーによって隠されているように見えます。醜く見える。
また、グリッドにブラウザ ウィンドウに収まりきらない行が含まれている場合、ページ スクロールバーが表示され (グリッドのスクロールバーではありません!)、これがページ全体をスクロールするため、ボタン バーがスクロールされてしまいます。
私のセットアップの何が問題なのか考えてみてください。
アップデート:
最後に修正しました。中間パネルにもレイアウトが含まれている必要があります: 'fit'