我試圖在我的應用程序中插入一個gwt datagrid。如果我設置一個靜態高度(500px),一切都很好。但我想讓dataGrid自動調整爲屏幕大小。隨着身高100%,我得到一個空白的屏幕。 我也試着把datagrid放到一個resizeLayoutPanel中,結果相同。GWT DataGrid自動高度
任何提示?
我試圖在我的應用程序中插入一個gwt datagrid。如果我設置一個靜態高度(500px),一切都很好。但我想讓dataGrid自動調整爲屏幕大小。隨着身高100%,我得到一個空白的屏幕。 我也試着把datagrid放到一個resizeLayoutPanel中,結果相同。GWT DataGrid自動高度
任何提示?
所有RequiresResize
部件應給予一個明確的大小,或者添加到ProvidesResize
部件(最多RootLayoutPanel
或ProvidesResize
小部件明確的大小;唯一的例外是ResizeLayoutPanel
不執行ProvidesResize
,因爲它不能遵守它的頁眉和頁腳小部件的合同,但是它肯定會爲中心小部件而榮幸)。
所以問題是:你在哪裏添加了DataGrid
和/或ResizeLayoutPanel
?
Thomas Broyer是正確的。儘管如此,我還是對DataGrid感興趣(它在CellTable中不會發生)。 如果您使用的是DeckPanel,並且您正在此DeckPanel的隱藏面板上創建DataGrid,那麼如果您顯示DataGrid的面板,則DataGrid的數據將不可見。 我發現只有一個解決方法:在「面板顯示後」調用DataProvider的addDataDisplay。
在大多數瀏覽器中,隱藏div的高度和寬度(即樣式顯示:無)不可用於佈置頁面的其餘部分。有竅門解決它,所以我猜CellTable實現它,而DataGrid沒有(或不能,因爲它稍微更復雜) –
確認這也影響TabLayoutPanel其中DataGrid不在默認選項卡上。 – hiddenwaffle
關鍵點是......被添加到了ProvideResize小部件(最多到一個RootLayoutPanel)。父面板是HTMLPanel,它不是一個ProvideResize小部件。 – Jose
您應該「接受」答案,而不是將問題標題更改爲「已解決」。請參閱http://stackoverflow.com/faq#howtoask –