【问题标题】:Why only one row is showing in report?为什么报告中只显示一行?
【发布时间】:2020-12-10 17:07:08
【问题描述】:

在 MySQL 工作台中,我得到 3 行:

mysql> select * from person;
+-----+------+
| ID  | NAME |
+-----+------+
| A01 | A01  |
| A02 | A02  |
| A03 | A03  |
+-----+------+
3 rows in set (0.00 sec)

但是当我使用 jrxml 并显示为 pdf 时

我只能得到一排

+-----+------+
| ID  | NAME |
+-----+------+
| A01 | A01  |
+-----+------+

这是我的 jrxml

<?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="T0113" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" >
    <queryString>
        <![CDATA[select * from person ]]>
    </queryString>
    <field name="ID" class="java.lang.String">
        <fieldDescription><![CDATA[]]></fieldDescription>
    </field>
    <field name="NAME" class="java.lang.String">
        <fieldDescription><![CDATA[]]></fieldDescription>
    </field>
    <group name="ID">
        <groupExpression><![CDATA[$F{ID}]]></groupExpression>
    </group>
    <group name="NAME">
        <groupExpression><![CDATA[$F{NAME}]]></groupExpression>
    </group>
    <title>
        <band height="79" splitType="Stretch">
            <staticText>
                <reportElement x="240" y="0" width="100" height="30" />
                <text><![CDATA[PDFPDF]]></text>
            </staticText>
        </band>
    </title>
    <columnHeader>
        <band height="61" splitType="Stretch">
            <textField>
                <reportElement x="170" y="15" width="100" height="30" />
                <textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="320" y="10" width="100" height="30" />
                <textFieldExpression><![CDATA[$F{NAME}]]></textFieldExpression>
            </textField>
        </band>
    </columnHeader>
</jasperReport>

那么如何解决这个问题呢?

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    这是因为您的字段位于错误范围内。

    列标题此部分出现在每列的开头 生成的文档。

    详细信息 对于由 报告的数据源。细节部分可以由多个组成 乐队。

    目前您需要将它们放在 columnHeader 中,但将它们放在 detail 带中

    <detail>
        <band height="61" splitType="Stretch">
            <textField>
                <reportElement x="170" y="15" width="100" height="30" />
                <textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="320" y="10" width="100" height="30" />
                <textFieldExpression><![CDATA[$F{NAME}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
    

    要了解有关不同报告部分的更多信息,请参阅 Tutorial report sectionJRBand API

    【讨论】:

      【解决方案2】:

      只需更改详细信息带中的 &lt;![CDATA[$F{ID}]]&gt;&lt;![CDATA[$F{NAME}]]&gt; 而不是 columnHeader

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-17
        • 1970-01-01
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多