2017-10-02 13 views
2

Je travaille dans un rapport qui doit être joint à un autre pour générer un rapport plus grand, donc il n'a que titre, pied de page et sections récapitulatives. Le problème est que j'obtiens une erreur de compilation et que je ne connais pas la raison. Ceci est mon fichier jrxml (parties avec ... omis par souci de concision):Pourquoi les sections ne correspondent-elles pas à la hauteur de la page?

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport ... pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="469" leftMargin="70" rightMargin="56" topMargin="130" bottomMargin="56" isSummaryWithPageHeaderAndFooter="true" ...> 
    <property ...some properties.../> 
    <parameter .../> 
    <queryString language="SQL">...</queryString> 
    <field .../> 
    <variable>...</variable> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="650" splitType="Stretch">...</band> 
    </title> 
    <pageFooter> 
     <band height="50">...</band> 
    </pageFooter> 
    <summary> 
     <band height="451">...</band> 
    </summary> 
</jasperReport> 

Essayer avec Jaspersoft Studio Je devenais une erreur mais ne pouvait pas voir la trace, donc je fait une petite routine dans Netbeans et la trace de la pile Je reçois est:

Exception in thread "main" net.sf.jasperreports.engine.design.JRValidationException: Report design not valid : 
1. The title section, the page and column headers and footers and the margins do not fit the page height. 
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:280) 
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:152) 
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:357) 
at net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:273) 
at net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:232) 
at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:542) 
at ar.edu.unt.jasper.ReportCompilerAndExporter.main(ReportCompilerAndExporter.java:25) 

la ligne de mon code (le dernier dans la trace de la pile) est la suivante:

String myReport = JasperCompileManager.compileReportToFile("myReport.jrxml"); 

(le fichier existe et le chemin est correct)

Ma première pensée était que pageHeight - (topMargin + bottomMargin) < 650px mais il s'avère que ce n'est pas le cas, en fait, c'est 656px alors je ne sais pas ce qui me manque. Toute aide ou guide est la bienvenue.

J'ai essayé de supprimer <pageFooter> juste pour le test (je ne peux pas le faire dans le rapport final, il contient quelques informations) et le rapport compile et rend en douceur. D'ailleurs, je peux dire qu'aucun élément n'est en dehors du groupe parce qu'il est fait avec Jaspersoft Studio et ce genre d'erreur est montré dans la vue de conception.

Toute autre information sur le code source du rapport s'il vous plaît laissez-moi savoir dans les commentaires.

Répondre

1

Il essaie d'adapter également le pageFooter sur la même page que title bande (650+50>656).

Si vous aimez la bande de titre sur une page séparée sans pageFooter vous devez définir l'attribut

isTitleNewPage="true" 

de JReport API

Indique si la section de titre sera imprimé sur une page initiale séparée .

Jaspersoft Studio de

Title on new page

+0

Testés! travaillé parfaitement. Merci beaucoup –