2011-12-21 6 views
1

私はUiBinderとDockLayoutPanelを以下のように使用しています。私はカスタムCellTableを "contentPanel"という名前のScrollPanelに追加しています。水平スクロールバーがちょっと表示されてから消えます。

初めてCellTableを作成すると、cellTableLoading.gifと一緒に水平スクロールバーが表示されます。 CellTableのロードが終了すると、水平スクロールバーが消えます。

最初に水平スクロールバーが表示されないようにするにはどうすればよいですか?

問題のトラブルシューティングに役立つその他の情報をお寄せいただきありがとうございます。どうもありがとう!

<g:DockLayoutPanel unit='PX' styleName="{style.wrap}"> 
    <g:north size='180'> 
     <g:HTMLPanel styleName='{style.header}'> 
      <g:Hyperlink ui:field="logoutLink" styleName="{style.login}"/> 
     </g:HTMLPanel> 
    </g:north> 
    <g:south size="70"> 
     <g:HTMLPanel styleName="{style.footer}"> 
      <g:Label>&copy; Copyright by</g:Label> 
     </g:HTMLPanel> 
    </g:south> 
    <g:center> 
     <g:HTMLPanel styleName='{style.content}'> 
      <g:SimplePanel styleName='{style.left}' ui:field="navigationPanel" /> 
      <g:ScrollPanel styleName='{style.right}' ui:field='contentPanel' /> 
      <div style="clear: both;" ></div> 
     </g:HTMLPanel> 
    </g:center> 

答えて

1

一時的に次の操作を行うことができ、それが生成されていたマークアップし、あなたのCSSスタイルを見ずになぜ起こるか伝えることが、スクロールバーをオフにすることは不可能:

// Before you load your table 
contentPanel.getElement().getStyle().setOverflow(Overflow.HIDDEN); 
// load your table 
// .... 
// after table is loaded 
contentPanel.getElement().getStyle().setOverflow(Overflow.AUTO); 

側の注意点としては、 float divの代わりに<g:center>のパネルをLayoutPanelとして実装する必要があります。あなたはまた、明らかにwidthfloatのように、.left.rightから任意のボックスモデルに関連するスタイルを削除する必要があります

<g:center> 
    <g:LayoutPanel styleName='{style.content}'> 
     <g:layer left="0" width="200px"> 
      <g:SimplePanel styleName='{style.left}' ui:field="navigationPanel" /> 
     </g:layer> 
     <g:layer right="0" left="200px"> 
      <g:ScrollPanel styleName='{style.right}' ui:field='contentPanel' /> 
     </g:layer> 
    </g:LayoutPanel> 
</g:center> 

:それはあなたがはるかに予測可能なレイアウトを提供します。

+0

ありがとうございました。 Overflow.NONEは認識されませんが、Overflow.HIDDENは機能しました – Justin

+0

@Justin、はい、それは隠しです:)私は便利な夜遅くIDEなしでこれを書きました。私は人々が間違いを繰り返さないように私の答えを更新しました! – Strelok

関連する問題