GWT的展示,還有很多例子,我發現,總有一個非常簡單的DataGrid的用法:GWT的DataGrid與SimpleLayoutPanel不會出現垂直滾動條
- 你在你的UiBinder的定義元素的DataGrid ,並且您將其設置爲要提供的字段。
- 在視圖構造你初始化格 - 定義列並添加
- UI粘合劑產生
- 一切它表現爲預期的數據..
但常見的情況是不所以是靜態的:你通常設置網格,但沒有數據,只有在用戶做了某些事情(點擊按鈕等)後纔可以提供這些數據。
我花了很多時間在複雜的UI佈局中呈現DataGrid: 爲了做到這一點,網格現在託管在SimpleLayoutPanel中,該SimpleLayoutPanel具有100%的寬度和高度,並且此SimpleLayoutPanel位於某個對接面板內。 但出於原因,我不明白 - 網格顯示超出對接面板的大小,所以我永遠不會看到其滾動條的底端。
這是我的UI粘合劑(去掉了一些東西的清晰度):
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.sidePadding {
padding-left: 8px;
padding-right: 8px;
}
.expanded {
width: 100%;
height: 100%;
}
<g:DockLayoutPanel unit="PX" styleName="{style.expanded}">
<g:north size="45">
...
</g:north>
<g:center>
</g:center>
...
<g:east size="190">
<g:FlowPanel styleName="{style.sidePadding}">
<g:FlowPanel>
<g:Label>SOME TOOLBAR</g:Label>
</g:FlowPanel>
<g:HTMLPanel>
<g:Label>SOME PANEL PANEL </g:Label>
</g:HTMLPanel>
<g:FlowPanel ui:field="eastContent">
<g:Label>SOME FLOW PANEL</g:Label>
</g:FlowPanel>
<g:SimpleLayoutPanel ui:field="imagesGrid" addStyleNames="{style.expanded}"/>
</g:FlowPanel>
</g:east>
</g:DockLayoutPanel>
</ui:UiBinder>
事實證明 - 東方面板獲得的650像素的高度,這是正確的價值,而且裏面的數據網格SimpleLayoutPanel獲得相同的高度!並因爲之前有一些標籤等 - 它溢出東面板的大小..
任何幫助?
UPDATE: 看來,如果我刪除一切從東部面板,離開DataGrid的只有SimpleLayoutPanel - 它的工作原理的發現! 但我確實需要在網格上方添加所有這些額外的標籤 - 而且我找不到解決方案。 ??