如何在Jasper Reports中包装一个细节带

时间:2010-10-08 14:22:27

标签: jasper-reports

我有一个细节乐队,其中可能包含很多文字字段。它可能太宽而无法放在页面上。结果是它只是在页面边缘运行而你看不到它。我希望将细节带包裹到另一条线上。有没有办法做到这一点?

我的细节带是在代码中动态构建的,字段数可以变化。我尝试通过设置y值手动将溢出的字段放在波段的下方,但是如果字段中的文本溢出成两行,我的高度计算就会关闭,结果会变得混乱。

那么有没有办法限制乐队适应页面?

2 个答案:

答案 0 :(得分:3)

不幸的是,jasper中的strech类型只能在波段之间工作,而不是在波段内。

你不能(甚至手工制作)创建一个jrxml,当一个上层元素溢出时,这个jrxml会导致一个波段中的下层元素被正确地放置。

您需要创建多个细节带。在iReport中,您使用“添加另一个细节带”(在详细信息带上下文菜单中)。动态地,它看起来像:

JRDesignSection detailSection = (JRDesignSection)design.getDetailSection();
JRDesignBand detail2 = new JRDesignBand();
detailSection.addBand(detail2);

答案 1 :(得分:2)

也许在您的reportElement中,您需要设置属性stretchType="RelativeToTallestObject"

<reportElement stretchType="RelativeToTallestObject" ...>

我很确定这对我有用。