我有一个细节乐队,其中可能包含很多文字字段。它可能太宽而无法放在页面上。结果是它只是在页面边缘运行而你看不到它。我希望将细节带包裹到另一条线上。有没有办法做到这一点?
我的细节带是在代码中动态构建的,字段数可以变化。我尝试通过设置y值手动将溢出的字段放在波段的下方,但是如果字段中的文本溢出成两行,我的高度计算就会关闭,结果会变得混乱。
那么有没有办法限制乐队适应页面?
答案 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" ...>
我很确定这对我有用。