gpt4 book ai didi

jasper-reports - 设置具有标题和详细信息带的 jasper 子报表的边框

转载 作者:行者123 更新时间:2023-12-04 06:49:07 34 4
gpt4 key购买 nike

我正在使用 jasper 插件下载 pdf 和 doc 格式的文档的 grails 项目。

我有几个 jasper 子报告,并在动态 jasper 中使用这些子报告以 pdf 和 docx 格式下载文档。我正在使用动态 jasper 报告,因为 jasper 子报告的位置可能会有所不同。

我的碧 Jade 子报告有一个标题和一个细节带。

enter image description here

输出是

enter image description here

现在我的问题是边界。需要一个边框,例如:

enter image description here

我试图设置矩形,框架但都失败了,因为两个乐队没有共享一个味觉(组件)。

我的要求是通过 jasper 报告或通过动态 jasper 进行边框。 我不知道如何设置边框。

编辑................................................. ......................

我还尝试通过动态碧 Jade 代码使用框架和矩形设置边框,输出为:

enter image description here

框架和矩形不覆盖整个子报表。这是我的代码:

JRDesignRectangle rectangle = new JRDesignRectangle();
//JRDesignFrame rectangle = new JRDesignFrame();
rectangle.setX(subReport.getX());
rectangle.setY(subReport.getY());
rectangle.setHeight(subReport.getHeight());
rectangle.setWidth(subReport.getWidth());
rectangle.setPositionType(PositionTypeEnum.FLOAT);
band.addElement(rectangle);

最佳答案

如果您使用的是 jasper 报告插件,您可以打开 JRXML 文件并说类似的话

 <box>
<topPen lineWidth="1.0"/>
<leftPen lineWidth="1.0"/>
<bottomPen lineWidth="1.0"/>
<rightPen lineWidth="1.0"/>
</box>

Jasper 报告来自一位名叫“ IReport Designer”的优秀设计师。 '。您可以使用概念
frames在 IReport 设计器中并将您的子报表放在框架内,然后应用边框
框架本身的属性。您还可以找到 BorderAroundTable有用。我会
当然也推荐这些链接。

How to add border to a subreport

Frame Around Two Subreports

Border In Jasper Report

让我们知道此解决方案是否适合您。

如果它可以用于具有摘要和页眉的子报表,那么它也可以帮助您的案例。

编辑和添加带边框的主报表和子报表代码

主报表源代码
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="testborder" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="421" splitType="Stretch">
<subreport>
<reportElement x="25" y="148" width="200" height="100"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
<subreportExpression><![CDATA["C:\\jaspersamples\\testborder_subreport1.jasper"]]></subreportExpression>
</subreport>
<frame>
<reportElement x="45" y="119" width="390" height="176"/>
<box>
<topPen lineWidth="2.0" lineStyle="Solid"/>
<leftPen lineWidth="2.0" lineStyle="Solid"/>

<bottomPen lineWidth="2.0" lineStyle="Solid"/>
<rightPen lineWidth="2.0" lineStyle="Solid"/>
</box>
</frame>
</band>
</detail>
</jasperReport>

子报表源码
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="testborder_subreport1" language="groovy" pageWidth="802" pageHeight="555" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="802" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="29" splitType="Stretch">
<staticText>
<reportElement x="317" y="5" width="100" height="20"/>
<textElement/>
<text><![CDATA[HELLO TEST]]></text>
</staticText>
</band>
</pageHeader>
<summary>
<band height="29" splitType="Stretch">
<staticText>
<reportElement x="317" y="0" width="100" height="20"/>
<textElement/>
<text><![CDATA[i am testing BORDER]]></text>
</staticText>
</band>
</summary>
</jasperReport>

输出有点像这样

enter image description here

关于jasper-reports - 设置具有标题和详细信息带的 jasper 子报表的边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184873/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com