我正在尝试在我的视图上添加一个 DataGrid。我知道 DataGrid 只能留在布局面板中,因为提供了 ProvidesResize 和 RequiresResize 接口。
问题是,我想在 DataGrid 表的顶部添加一个过滤器,并且过滤器不能有固定的高度,它可以更大或更小。
没有 Layout Panel 会接受超过一个要调整大小的孩子,但 LayoutPanel 本身。但是,每一层都需要以百分比设置高度,这也不行。
如果我用 CellTable 更改 DataGrid,然后在 Flow Panel 中添加两者,问题就会解决,但表格必须是可滚动的。
我需要的是 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>
谁能帮我这个 ?提前谢谢了。