0

さまざまな量のデータにデータグリッドを多く使用しているため、それらに autoHeight: true を設定して、グリッドがデータの高さに拡張されるようにしました。ただし、一度に画面に表示できるよりも多くのデータがある場合、ウィンドウにスクロール バーが正しく表示されます。下にスクロールすると、列ヘッダーがページの上部からはみ出します。

ハックな方法で autoHeight false を使用して、ページの高さを計算し、グリッドの高さを任意の値に設定して、スクロール バーがグリッドに表示されるようにします。つまり、列ヘッダーが固定されます。ただし、これはグリッドがデータでいっぱいの場合にのみ有効です。そうでない場合、グリッドはフルスクリーンのままですが、数行のデータしかないため、画面のスペースが無駄になります。

両方の方法を組み合わせる方法はありますか?

グリッド全体がページ上の利用可能なスペースに収まる場合、通常のようにグリッドを autoHeight するモードを使用できるようにしたいと考えています。収まらない場合は、ヘッダーを失うことなくデータをスクロールできるように、グリッドの高さを利用可能な残りのスペースに固定したいと思います。

これが可能かどうか誰にもわかりますか?

どうもありがとう、エド

4

2 に答える 2

1

私はより良い方法を見つけましたが、これはまだ理想的ではありません。

autoHeight を数値に設定すると、表示される行数がその数値に制限されます。重要なことに、ストア内の行数がその数より少ない場合でも、グリッドは正しいサイズのままです (つまり、20 行のスペースを占有しません)。 autoHeight: 20 を設定し、10 行しかない場合)。

ユーザーとして私たちがしなければならないことは、画面にどれだけのスペースが残っているかを計算し、行の高さで割って (照会または推測できると思います)、それを autoHeight に渡すことだけです。dojo.position() は、残っているスペースを計算するのに役立ちます。

乾杯、エド

于 2011-12-14T16:32:25.470 に答える
0

ハックを使用して、グリッドに最大高さのスタイル (!important が必要な場合があります) を設定できると思います。autogrow (行数に基づいて高さをピクセル単位で設定するだけ) と組み合わせると、期待どおりに動作するはずです。

于 2011-08-03T00:53:44.667 に答える