【问题标题】:How to wrap a detail band in Jasper Reports如何在 Jasper Reports 中包装细节带
【发布时间】:2010-10-13 16:24:35
【问题描述】:

我有一个细节带,其中可能包含很多文本字段。它可能会变得太宽而无法放在页面上。结果是它只是跑出了页面的边缘,而您无法看到所有内容。我希望细节带环绕到另一条线。有没有办法做到这一点?

我的详细信息带是在代码中动态构建的,字段的数量可能会有所不同。我尝试通过设置它们的 y 值手动将溢出的字段放置在带区的较低位置,但是如果字段中的文本溢出成两行,我的高度计算就会关闭,结果会变得非常混乱。

那么有什么方法可以限制带子以适应页面吗?

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    不幸的是,jasper 中的 strech 类型仅适用于波段之间,而不是波段内。

    您不能(甚至手动)创建一个 jrxml,这将导致在上层元素溢出时正确定位带中的下层元素。

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

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

    【讨论】:

    • 我的单个细节带中有图像和文本,我的细节带中经常有元素溢出,我认为它们都会自动调整,但我会仔细检查.
    【解决方案2】:

    也许在你的reportElement上你需要为band中的每个字段设置stretchType="RelativeToTallestObject"属性。

    <reportElement stretchType="RelativeToTallestObject" ...>
    

    我很确定这对我有用。

    【讨论】:

    • 是的,它对我有用 "textField.setStretchWithOverflow(true);"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多