2011-10-24 9 views
8

私のアプリケーションにgwtデータグリッドを挿入しようとしています。静的な高さ(500px)を設定すると、すべてがうまくいきます。しかし、私は、画面サイズに合わせてdataGridを自動調整したい。高さ100%で空白の画面が表示されます。 同じ結果を持つresizeLayoutPanelにデータグリッドを配置しようとしました。GWT DataGridの自動高さ

ヒント?

答えて

19

すべてRequiresResizeウィジェットは、明示的なサイズを有するRootLayoutPanel又はProvidesResizeウィジェットまで(明示的なサイズ与えられるべきである、またはProvidesResizeウィジェットに追加することが、唯一の例外は、それができなかったためProvidesResizeを実装していないResizeLayoutPanelありますヘッダーとフッターウィジェットの契約を尊重しますが、それは間違いなくセンターウィジェットのためのものです)。

質問は次のとおりです。DataGridおよび/またはResizeLayoutPanelはどこに追加しましたか?

+0

重要なポイントは...(最大RootLayoutPanelまで)ProvidesResizeウィジェットに追加されました。親パネルはHTMLPanelであり、それはProvidesResizeウィジェットではありません。 – Jose

+3

質問のタイトルを「解決済み」に変更するのではなく、回答を「受け入れる」べきです。 http://stackoverflow.com/faq#howtoask –

3

Thomas Broyerが正しいです。それにもかかわらず、私はDataGrid(CellTableでは起こらない)に関する興味深いものを見つけました。 DeckPanelを使用していて、このDeckPanelの非表示のパネルにDataGridを作成している場合、DataGridのパネルを表示すると、DataGridのデータは表示されません。 私は唯一の回避策を見つけました:あなたのDataProviderの "add"の後にパネルが見えるようにaddDataDisplayを呼び出してください。

+0

を参照してください。ほとんどのブラウザでは、隠しdivの高さと幅(スタイル付き表示:なし)を使用して残りのページをレイアウトすることはできません。それを回避するためのトリックがあるので、CellTableはDataGridを実装していないと思います(少し複雑なのでできませんでした) –

+0

これは、DataGridがデフォルトのタブにないTabLayoutPanelにも影響することを確認しました。 – hiddenwaffle

関連する問題