2012-05-03 3 views
1

Мне нужна полоса прокрутки для GWT CellTable. Ниже мой ui.xml,Как я могу получить вертикальную полосу прокрутки для GWT CellTable

<gwt:SplitLayoutPanel> 
    <gwt:west size="200"> 
    <gwt:VerticalPanel> 
    <gwt:HTMLPanel> 
     <table> 
      <tr> 
       <td> 
        <gwt:Label>xxxx</gwt:Label> 
       </td> 
      </tr> 
      <tr> 
       <td> 
       **Here i need a CellTable with Vertical Scrollbar** 
       </td> 
      </tr> 
     </table> 
    </gwt:HTMLPanel> 
    </gwt:VerticalPanel> 
</gwt:west> 
<gwt:center> 
    <gwt:VerticalPanel /> 
</gwt:center> 
</gwt:SplitLayoutPanel> 

Я попытался с ScrollPanel -> VerticalPanel -> CellTable. Но я не получаю ScrollBar. Может кто-нибудь мне помочь?

Спасибо заранее, Gnik

+0

прокручивать ли вы панель имеют фиксированный размер? (размер, вынужденный сам по себе или предоставляемый его контейнером). Потому что, если он не ограничен, он будет иметь тот же размер его содержимого, и прокрутка не будет работать (я почти уверен) – helios

+0

Я установил ScrollPanel height = "100%" и width = "100%". а также для VerticalPanel. cellTable.setSize («100%», «100%»); Правильно это или нет? – Prince

+1

Я думаю, что таблица сотовых телефонов, использующая 100%, точно установлена ​​на панель прокрутки. Попробуйте (только для тестовых целей) установку «800px» на таблицу сотовых телефонов, чтобы увидеть, отображаются ли полосы прокрутки :) – helios

ответ

4

Какой смысл в использовании в VerticalPanel в этой ситуации? Замените его на ScrollPanel в вашем XML-файле UiBinder. Установите ширина и высоту в пикселях для этого ScrollPanel (это очень важно!) И положить в него свой CellTable:

<g:ScroollPanel pixelSize="200, 400"> 
    <c:CellTable ui:field="myCellList" /> 
</g:ScroollPanel> 

200 - ширина панели в пикселях, 400 - высота.

При этом размер списка CellTable должен быть больше размера ScrollPanel. В противном случае свиток не появится.

Или установите ширину в 100%, если вам нужен вертикальный скроллинг:

<g:ScrollPanel width="100%" height ="400px"> 
1

Если вы используете GWT 2.4, то заменяя CellTable объект с DataGrid объекта даст вам нужный результат с не потребность в Scrollapanel. Вы можете увидеть разницу между таблицей сотовых и datagrid в gwt Showcase (под виджетами ячеек).

0

Код ниже работал для меня -

 <g:HTMLPanel> 
    <g:VerticalPanel> 
    <g:TabLayoutPanel barHeight="2" barUnit="EM" width="790px" 
      height="500px"> 
      <g:tab> 
       <g:header>Sample</g:header> 
       <g:DockLayoutPanel> 
        <g:center> 
         <g:ScrollPanel> 
          <p1:CellTable ui:field="cellSampleTable" /> 
         </g:ScrollPanel>        
        </g:center>      
       </g:DockLayoutPanel> 
      </g:tab> 
      </g:TabLayoutPanel> 
    </g:VerticalPanel> 
</g:HTMLPanel> 

 Смежные вопросы

  • Нет связанных вопросов^_^