为什么报告中只显示一行?

时间:2016-01-13 05:29:03

标签: jasper-reports

在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>

那么如何解决问题?

2 个答案:

答案 0 :(得分:3)

这是因为您的字段位于错误的频段。

  

列标题此部分显示在每列的开头   生成的文件。

     

详细信息对于提供的每行数据重复此部分   报告的数据来源。细节部分可以由多个部分组成   频带。

目前,您需要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> 乐队

{{1}}

要详细了解不同的报告部分,请参阅Tutorial report sectionJRBand API

答案 1 :(得分:0)

仅在columnHeader的明细栏中更改<![CDATA[$F{ID}]]><![CDATA[$F{NAME}]]>