2012-06-25 21 views
0

當在DisclosurePanel中嵌套一個SplitLayoutPanel時,當使用相對高度屬性(例如100%)打開DisclosurePanel時,不會顯示SplitLayoutPanel。檢查生成的HTML會生成包含SplitLayoutPanel(DisclosurePanel生成一個包含兩行的表格)的行,其高度爲0px,但寬度已正確確定。SplitLayoutPanel裏面DisclosurePanel

我在做一些完全錯誤的事情嗎?刪除DisclosurePanel可正確顯示SplitLayoutPanel。還可以將SplitLayoutPanel的高度設置爲絕對值(例如500px)。

任何建議,非常感謝。

<!DOCTYPE html> 
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> 
<g:DisclosurePanel width="99%"> 
    <g:header>Some Header</g:header> 
    <g:SplitLayoutPanel ui:field="mySplitLayoutPanel" 
     width="100%" height="100%"> 
     <g:west size="200"> 
      <g:ScrollPanel ui:field="streamTreePanel" styleName="ccTreePanel" /> 
     </g:west> 
     <g:center> 
      <g:VerticalPanel ui:field="streamTablePanel" 
       styleName="ccTablePanel" width="100%" /> 
     </g:center> 
     <g:east size="400"> 
      <g:ScrollPanel ui:field="streamInfoPanel" styleName="ccInfoPanel" /> 
     </g:east> 
    </g:SplitLayoutPanel> 
</g:DisclosurePanel> 

回答

1

LayoutPanels要求的ProvidesResizeRequiresResize父控件到RootLayoutPanel鏈不中斷正常工作。 在你的情況下,DisclosurePanel沒有實現任何接口。
您可以:

  • 把你SplitLayoutPanelResizeLayoutPanel
  • 在指定明確尺寸的DisclosurePanel(見食譜更多信息)
  • 添加自己的ResizeHandler和手動調整SplitLayoutPanel(調用onResize()) 。