BIRT:如何在调整单元格宽度时自动调整最后一列的宽度

rya*_* dy 3 birt cell width adjustment

我目前正在处理一份需要最右边的列对齐的报告。

我发现了一份报告,我想复制其中的行为,其中当我调整整个组的单元格宽度时,其中的最后一列单元格也会调整。

我尝试比较这两个报告的属性以了解要调整的正确值,但没有运气。

下面是它们的样子:

当我调整单元格宽度时,我应该怎么做才能使单元格内表格中的最后一列自动调整?

报告 1(正确行为):

调整单元格宽度也会调整 **Amount** 列的宽度

报告 2(不正确的行为):

调整单元格宽度不会调整 **Amount** 列的宽度

hvb*_*hvb 5

基本上,在 BIRT 中处理列宽很容易:

1) 网格/表格具有宽度属性。只要你改变任何在设计器中使用鼠标列宽,BIRT 就会设置此属性。网格/表格宽度属性可以为空(可以在属性编辑器中清除)。在这种情况下,BIRT 使用所有可用的宽度。

2) 每列都有一个宽度属性。只要您在设计器中使用鼠标更改任何列宽,BIRT 就会为所有列设置此属性列。某些列的列宽属性可以为空(可以在列的属性编辑器中将其清除)。在这种情况下,BIRT 计算网格/表格的宽度(参见 1)并减去那些指定宽度的列的宽度。剩余的宽度为那些没有指定宽度的列平均分配。

3) 避免将单位 '%' 与绝对单位(如 'pt')混合用于同一网格/表格的不同列宽。

4) 除非您知道自己在做什么(像素的大小是多少?),否则避免使用单位“px”。

5) 避免指定总和 >= 表格/网格宽度的列宽。

请记住规则 1 中的句子“在这种情况下,BIRT 使用可用的 with”。可用宽度来自容器(布局结构树中的父元素)。以此类推,直到达到 body 元素的宽度。对于 PDF 和 Word Emitter,此宽度取决于主页宽度和边距。

对于 HTML 输出,我不知道 body 元素的宽度是多少。可能,它是未定义的。就我个人而言,我从不使用 HTML 发射器,所以我无法在这里为您提供帮助。

报表属性“自动布局”或“固定布局”肯定会起作用。对于 PDF 和 Word 输出,应使用“固定布局”。