我有两个SWT表包含在Group
中,其中ScrolledComposite
用于阻止浏览器滚动条(而只是滚动表格)。
table_sizing_toolInfo = new Table(grpCapacityReport, SWT.BORDER);
table_sizing_toolInfo.setData( RWT.FIXED_COLUMNS, Integer.valueOf(6));
table_sizing_toolInfo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
两个表格都有GridData
,可以抓住多余的垂直空间。
在没有数据的情况下渲染时,表格按预期工作(两者都有过量,因此它们会分割视图空间)。 将数据填充到表格后,仍然会按预期显示,直到切换制表符(强制重绘)。
table_sizing_dgrInfo.setRedraw(false);
table_sizing_toolInfo.setRedraw(false);
table_sizing_dgrInfo.removeAll();
table_sizing_toolInfo.removeAll();
while (table_sizing_dgrInfo.getColumnCount() > 6 ) {
table_sizing_dgrInfo.getColumns()[6].dispose();
}
while (table_sizing_toolInfo.getColumnCount() > 6 ) {
table_sizing_toolInfo.getColumns()[6].dispose();
}
renderSizingTableDynamic(scenarioMap.get(combo_sizing_ScenarioID.getText()));
table_sizing_toolInfo.setRedraw(true);
table_sizing_dgrInfo.setRedraw(true);
底部表格比顶部表格拥有更多数据,并且随着更多行的添加,底部表格吞噬了顶部表格的空间,直到它只有一个像素高。
答案 0 :(得分:1)
<route id="cassendraroute">
<from uri="direct:routecassendra"/>
<to uri="cql://127.0.0.1/empdetails?cql=select * from employee;&prepareStatements=false "/>
</route>
不太可能满足您的需求。如果您希望两个表都采用相同的高度,那么您应该使用ScrolledComposite
,如下所示:
Rowlayout
您也可以使用parent.setLayout( new RowLayout( SWT.VERTICAL ) );
Table topTable = new Table( parent, ... );
Table bottomTable = new Table( parent, ... );
作为两个表的父级。因此,让用户拖动分隔表格的窗框,并决定每个桌子应该采取多少高度。
有关详细信息,文章Understanding SWT Layouts提供了对SWT标准布局的深入讨论。您可以放心地忽略弃用警告,所讨论的概念仍然有效。