Я пытаюсь добавить DataGrid на мой взгляд. Я знаю, что DataGrid может оставаться только в панели макета из-за интерфейсов ProvidesResize и RequiresResize.GWT - таблица DataGrid с фильтром в том же представлении/панели
Дело в том, что я хочу добавить фильтр поверх таблицы DataGrid, и фильтр не может иметь фиксированную высоту, он может быть больше или меньше.
No Layout Panel не может принимать более одного ребенка, который должен быть изменен, но сам LayoutPanel. Но тем не менее, для каждого уровня требуется высота, которую нужно установить в процентах, и это тоже не нормально.
Если я изменил DataGrid с помощью CellTable, а затем добавлю оба в панель потока, проблема будет решена, но таблица должна быть прокручиваемой.
Что мне нужно это FlowLayoutPanel но нет такой панели в GWT
Я думал, что единственный способ будет пытаться создать пользовательскую панель, которая будет реализовывать интерфейсы ProvidesResize и RequiresResize.
Вот как это выглядит, как с помощью LayoutPanel:
<g:layer left="2%" right="68%" top="2%" bottom="93%">
<g:Label ui:field="gridBlurb" addStyleNames="{res.viewStandardStyle.viewTitle}" />
</g:layer>
<g:layer left="2%" right="68%" top="9%" bottom="56%">
<g:SplitLayoutPanel>
<g:center>
<g:HTMLPanel>
<g:FlowPanel ui:field="criteriaPanel" visible="false" />
<g:FlowPanel>
<g:Button ui:field="refresh">
<ui:text from="{text.refreshButtonCaption}" />
</g:Button>
</g:FlowPanel>
</g:HTMLPanel>
</g:center>
</g:SplitLayoutPanel>
</g:layer>
<g:layer left="2%" right="2%" top="45%" bottom="5%">
<g:SplitLayoutPanel>
<g:center>
<c:DataGrid ui:field='table' />
</g:center>
</g:SplitLayoutPanel>
</g:layer>
<g:layer left='2%' right='2%' top="95%" bottom="0%">
<g:HTMLPanel>
<table style="width:100%">
<tr>
<td align='center'>
<c:SimplePager ui:field='pager' />
</td>
</tr>
</table>
</g:HTMLPanel>
</g:layer>
</g:LayoutPanel>
Может кто-нибудь помочь мне с этим? Большое спасибо заранее.
Ни один из RequiresResize умолчанию GWT панели не достаточно хорошо в этой ситуации. –