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

Posted

技术标签:

【中文标题】BIRT:调整单元格宽度时如何自动调整最后一列的宽度【英文标题】:BIRT: How to autofit width of last column when adjusting cell width 【发布时间】:2014-08-28 15:45:49 【问题描述】:

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

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

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

下面是它们的样子:

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

报告 1(正确行为):

Reprt 2(不正确的行为):

【问题讨论】:

这可能取决于报表属性“自动布局”或“固定布局”。 示例中的报告 1 和报告 2 都在固定布局上 【参考方案1】:

使用鼠标。

这次成功了。真的。

我用数字给出了确切的宽度,结果很糟糕。

我刚刚阅读了您的答案,然后用鼠标抓住了该列 - 最终宽度相同,但它有效!可能输入机制有BUG...

【讨论】:

【参考方案2】:

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

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

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

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

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

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

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

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

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

【讨论】:

以上是关于BIRT:调整单元格宽度时如何自动调整最后一列的宽度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动布局来调整表格视图单元格中的视图?

转:DataGridView列的宽度行的高度自动调整

Excel表怎么让单元格自动调整宽度?

如何使用自动布局动态调整具有固定宽度的collectionview单元格高度?

IOS 自定义表格单元格不会自动调整宽度以更改方向

怎么调整excel单元格的行列宽度