在单个带中具有多行时拉伸数据溢出的行

Posted

技术标签:

【中文标题】在单个带中具有多行时拉伸数据溢出的行【英文标题】:Stretch a row with data overflow while having multiple rows in a single band 【发布时间】:2012-05-11 20:28:52 【问题描述】:

我的要求使我在一个“详细信息”带中拥有多行。

现在我在最左边的列中有一个静态文本字段(以颜色突出显示),旁边有三个文本数据字段。

我在报告中想要的是,当三个带中的任何一个中的数据溢出时,静态文本带和三个带应该在高度上拉伸,下一行“正确”显示在拉伸行下方。 “正确”是指下一行元素的“顶部”值应相同,并显示在同一“行”中。

我尝试将“Stretch with overflow”标志设置为“true”,将“Position”设置为“float”,但问题是下一行数据没有正确定位。

【问题讨论】:

我有答案,但我不能在这个评论框中发布它,字符限制。我也无法回答,因为我在问了这个问题 8 小时后找到了答案,而 *** 不允许我这样做。有人问类似的问题,我可以回答。 恰恰相反:您无法在前 8 小时内回答。现在就试试吧。 【参考方案1】:

我找到了答案。解决方案的关键是将一行内的元素组合在一起。

    删除所有静态文本标签。请改用文本字段,并将文本放在引号中。它们可以与其他文本字段和数据字段组合在一起。 将所有数据字段放在带引号的文本字段之后,与带引号的文本字段在同一组中。 现在,对要显示的所有行执行相同操作。单个行的单独组。

选择组中的所有元素,或者选择所有组中的所有元素,然后执行以下操作:

将“位置”设置为“浮动” 将“拉伸类型”设置为“相对于最高物体” 选中“详细信息溢出时打印”复选框。 选中“溢出时拉伸”复选框。

这就是我们可以做的所有事情来让事情“伸展”在一起。

现在,乐队必须通过这些拉伸的细节动态拉伸。只需转到乐队属性,将拆分类型设置为“默认”并将允许拆分为真。这对我有用。

【讨论】:

我遇到了与我在此处提到的 link 相同的问题。就我而言,我想以不同的方式设置标签的样式,例如粗体标签。如果我将静态文本与“名称:”+Fname 之类的字段一起放置,那么如何分别格式化标签。另外,您能否向我们展示一些您实际如何对元素进行分组的屏幕截图?谢谢 @Ali,对不起,伙计,我现在无法访问 Jasper,但我相信这可以通过属性框完成。它必须非常简单,因为即使在我这里的情况下,我也将标签设置为粗体。我没有在这些帖子中提到这一点,因为它太简单明了。 我的列标题在标题行中的高度不同。解决方案是将stretchType="RelativeToBandHeight" 属性添加到我的<textField>s 中的每个<reportElement> 标记,这些标记都被<band height="15" splitType="Stretch"> 标记包围。【参考方案2】:

万一有人遇到这个问题,上面的答案不起作用。我建议检查你的 xml 的根元素。如果它具有以下属性,则将其删除:

printOrder="Horizontal"

那么上面的答案应该有效。

希望我能节省一天在谷歌上搜索相同内容的人。

【讨论】:

【参考方案3】:

在我的情况下,按照你的建议做是行不通的。我不得不稍微修改您的解决方案 - 我制作了一个“框架”而不是对对象进行分组,并将之前分组的元素放在该框架中。我在该框架中设置 positionType="Float" 和 stretchType="No stretch",并将 stretchType="RelativeToTallestObject" 设置为其子项 - 然后一切正常。

【讨论】:

感谢您的回答。如果您添加您的 JasperServer 版本和其他重要细节,这对这里的每个人都会更好。 当然:产品版本:Jaspersoft iReport Designer 5.5.0;爪哇:1.7.0; Java HotSpot(TM) 64 位服务器 VM 21.0-b17;系统:Windows 7 版本。 6.1 在amd64上工作; CP1250; pl_PL(报告);我想这就是全部......

以上是关于在单个带中具有多行时拉伸数据溢出的行的主要内容,如果未能解决你的问题,请参考以下文章

div内多行文字, 溢出部分用省略号显示

小程序关于多行文本溢出

多行文本溢出显示...

css处理单行,多行文本溢出

css处理单行,多行文本溢出

css处理单行,多行文本溢出