我已经开发了横向BIRT报告,现在需要以纵向方式进行报告。当我将母版页面方向更改为纵向时,页面尺寸会发生变化,但元素仍然采用旧的宽度(跨越页面边框),并且我无法手动调整其宽度。有没有办法重新调整所有元素以适应新的页面尺寸?
答案 0 :(得分:1)
我认为您的意思是您无法在UI中看到列,因此无法更改其宽度。
但是你可以切换到XML源窗口并从那里修改宽度:
首先,如果您还没有完成,请将表格命名为有意义的名称。 然后在XML中找到table元素(提示:搜索名称)。 元素内部有元素,您可以在其中找到宽度并进行编辑。此外,该表还具有您应编辑的宽度。 根据布局结构的复杂程度,这可能会导致繁琐的工作。
请注意,您还可以清除宽度(表和部分或全部列)。没有明确宽度的列然后共享未被具有显式宽度的列占据的空间。这是BIRT的一个非常方便的功能。
答案 1 :(得分:0)
将页面布局首选项设置为自动布局
<property name="layoutPreference">auto layout</property>
然后检查您使用的元素以验证它们是否能够调整大小。例如,网格可以将其宽度设置为100%(而不是固定大小),并且具有“可以缩小”选项。您还可以将列设置为百分比大小。
如果是图表,请将其缩小,然后添加一些脚本以调整其大小以在渲染时填充容器(添加到onContentUpdate事件)。例如,您可以添加:
var reportWidth = this.getViewer().getWidth();
var reportHeight = this.getViewer().getHeight();
var chart = this.getViewer().getChart();
chart.getClientChart().setSize(reportWidth, reportHeight);