标签: ireport

JasperReports:子报告渲染

我在我的应用程序中使用带有Spring MVC的JasperReports进行报告.基本上我首先在iReport 4.1.1中设计报表,然后通过jasper-view.xml将生成的.jasper文件放在我的类路径中

当请求到来时,控制器将所需的参数从Session放到Parameter Map并生成报告.

场景是我的主报告中有大约15个子报告.在所有这些报告中,仅打印符合条件(作为参数传递)的报告(通过Band的"Print When"选项进行控制)

我的问题是:如果我的报告不打印它是否会被执行(即其中的查询)?还是简单地跳过了?

我提出这个问题的理由是报告生成需要相当长的时间(大约2秒,根据我的说法,这对于我的申请来说太长了).

谢谢.

jasper-reports ireport

1
推荐指数
1
解决办法
2946
查看次数

如何连接字段的第一个和最后一个值并隐藏IReport中表组页脚中的特定记录

我有一个表组件,它显示了像这样的一组年份中的一些记录

例如:

Year   Month    SumMonth //group header
2009   Jan      1000     //table details
       Feb      2000
       Mar      3000
2009   xxxx     6000     //group year footer
2010   Jan      1100     //table details
       Feb      1200
2010   xxxx     2300     //group year footer
Run Code Online (Sandbox Code Playgroud)

上表中的"xxxx"部分是我需要修改的部分.

我想显示如下格式:

" Jan-Mar "(2010年为" 1月至2月 ")

问题是如何获取第一个月上个月的值并将它们连接成一个变量(或者不需要?),以便我可以将它放入页脚?

另一个问题是如何隐藏特定年份的记录?

例如,最终修改后的显示可能是这样的:

Year   Month     SumMonth //group header
2009   Jan-Mar   6000     //group year footer
2010   Jan       1100     //table details
       Feb       1200
2010   Jan-Feb   2300     //group year footer
Run Code Online (Sandbox Code Playgroud)

您可以看到2009年的所有记录都隐藏在上表中.我应该设置哪些选项或表达式?

jasper-reports ireport tabular

1
推荐指数
1
解决办法
1万
查看次数

iReport子报告重叠

我有以下问题:在详细信息部分的主报告中,我有三个子报告.我将它们的" 位置类型 " 设置为" 浮动"和" 拉伸"类型为" 相对于波段高度"但结果不是预期的.该报告长达500页,只打印了第一个子报告的内容.可能有什么问题?

<?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="Relatorio_Ivan_Master" 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="96"/>
<parameter name="ID_FUNCIONARIO" class="java.lang.Integer">
    <defaultValueExpression><![CDATA[1]]></defaultValueExpression>
</parameter>
<parameter name="DTA_INICIO" class="java.util.Date"/>
<parameter name="DTA_TERMINO" class="java.util.Date"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["/Users/marcosnatanpacheco/Desktop/"]]></defaultValueExpression>
</parameter>
<queryString>
    <![CDATA[SELECT idt_funcionario, nme_funcionario, dta_alocacao_local, dta_alocacao_recurso, dta_alocacao_servico FROM tb_funcionario AS t1
INNER JOIN ta_alocacao_local AS t2 ON t2.cod_funcionario = t1.idt_funcionario
INNER JOIN ta_alocacao_recurso AS t3 ON t3.cod_funcionario …
Run Code Online (Sandbox Code Playgroud)

jasper-reports subreport ireport

1
推荐指数
1
解决办法
7447
查看次数

找不到GroovyEvaluator

我将尝试在iReport中创建我的PIE 3D报告,在我的struts.xml中,我可以用它来调用我的报告。

<action name="cargaReporte" 
        class="com.techera.eventos.action.MisVisitasAction" 
        method="cargaReporte">              
    <result name="success" type="jasper">
        <param name="location">/WEB-INF/jsp/reportes/reporteMisVisitas.jasper</param>
        <param name="dataSource">visitas</param>
        <param name="format">PDF</param>
    </result>
</action>
Run Code Online (Sandbox Code Playgroud)

在我的jsp中我得到了

<a href="cargaReporte">Reporte</a>
Run Code Online (Sandbox Code Playgroud)

当我单击链接时,错误是这样的

java.lang.ClassNotFoundException: net.sf.jasperreports.compilers.GroovyEvaluator
    at java.lang.ClassLoader.findClass(ClassLoader.java:522)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
        ...
Run Code Online (Sandbox Code Playgroud)

有人告诉我我该怎么办?

我使用这些库:

groovy-all-1.7.5.jar

  • iText-2.1.7.jar
  • jasperreports-4.5.0.jar
  • jcommon-1.0.15.jar
  • jfreechart-1.0.12.jar
  • struts2-jasperreports-plugin-2.3.1.1.jar
  • struts2-jquery-chart-plugin-3.3.1.jar

java struts2 jasper-reports ireport eclipse-juno

1
推荐指数
1
解决办法
2万
查看次数

在 Jasper 报告中的摘要区域中打印标题区域

我有一个包含标题区域、详细信息区域和摘要区域的报告。我试图使用报表属性“新页面上的摘要”将摘要区域始终推到新页面上,我想将标题区域与摘要区域一起显示。我怎样才能做到这一点?

我正在使用 Jasper Reports 3.7.6 和 iReports 1.2

jasper-reports ireport

0
推荐指数
1
解决办法
5483
查看次数

如何使JasperReports在程序加载时要求一个参数?

我创建了一个加载JR报告的程序。我在报表上放置了一个参数,以便无论何时加载报表,它都会要求一个值。当我在Java程序上传递参数时,它工作正常

Map parameters = new HashMap();
parameters.put("VoucherNo", oclsJVHeader.getJournalVoucherNo()); 
...
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试不带参数加载它时,

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
Run Code Online (Sandbox Code Playgroud)

它说“该文档没有页面”。我一直在想,因为只要我的代码未传递参数,我都会使该参数使用提示符,因此在加载该参数时会询问提示符。

<parameter name="VoucherNo" class="java.lang.String" isForPrompting="true">
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,每当不传递参数时,如何使报告提示输入值?我是否需要为此更改Java代码?

顺便说一下,这是我用于加载报告的代码:

 FileInputStream fs = new FileInputStream(reportPath+reportFile);
 JasperDesign jasperDesign = JRXmlLoader.load(fs);
 JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,  conn); //could be null or parameters
 JFrame jframe = new JFrame("Journal Voucher");
 jframe.getContentPane().add(new JRViewer(jasperPrint));
 jframe.pack();
 jframe.setExtendedState(javax.swing.JFrame.MAXIMIZED_BOTH);
 jframe.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

我正在为项目使用iReportNetBeans

java report jasper-reports ireport

0
推荐指数
1
解决办法
3701
查看次数

将字符串转换为日期 - 无法解析的日期:"03/26/2012"

我正在尝试使用Jasper Reports的Java程序.当我发现"日期"是字符串格式,并且因此被排序,虽然以错误的方式排序时,开始作为(据称)简单的"按降序排列日期"任务变得更加复杂.例:

  • 12年3月26日
  • 12年3月26日
  • 12年8月11日
  • 12年8月26日
  • 11年10月26日

我只能猜测10/26/11被放在底部只是因为前面的10.

我使用iReport 3.0.0查看了Jasper报告,我发现了以下内容:

  • 在Fields下的相关日期(名称:DTEEFFEC)设置为String.
  • textField也设置为String.

这不会产生任何错误,只会使"日期"按降序排列变得困难,如果不是不可能的话.

所以我做了以下事情:

  • 按原样保留DTEEFFEC(String).
  • 将textField从Java.Lang.String更改为Java.Util.Date
  • 在New Field Expression中添加了以下内容:

    新的SimpleDateFormat("MM-dd-yyyy").解析($ F {DTEEFFEC} .toString())

在对我的问题进行一些研究后,我发现了一些代码.很多回应都是"它有效",但对我来说并非如此.

Caused by: java.text.ParseException: Unparseable date: "03/26/2012"
Run Code Online (Sandbox Code Playgroud)

这就是Java程序返回的内容.我尝试过修改字段和textField(在String或Date值之间交替),但它完全给了我其他错误.

我可以帮忙吗?

谢谢.

其他信息:我使用iReports 3.0.0修改JRXML文件,使用Eclipse编译Java程序.如果要相信Eclipse下的Referenced Libraries,我正在使用JasperReports 3.5.2.整个事情在Windows 7上运行.

java jasper-reports ireport

0
推荐指数
1
解决办法
7821
查看次数

如何使用maven配置jasperreports 5?

我安装了iReport-5.0.1.我想用Maven配置JasperReports.我的POM文件如下所示:

<dependency>

    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy</artifactId>
    <version>2.1.1</version>

</dependency>

<dependency>

    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.4.0</version>

</dependency>


<dependency>

    <groupId>net.sf.jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>5.0.1</version>

</dependency>

<dependency>

    <groupId>poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.1-FINAL</version>

</dependency>
Run Code Online (Sandbox Code Playgroud)

我想我的设置是错误的.谁能帮助我?

jasper-reports ireport maven

0
推荐指数
1
解决办法
2万
查看次数

文本字段的条件对齐

我正在为具有产品价格(取自数据源)的图像设计模板.如果产品具有删除价格,则图像会显示它,然后显示当前价格.如果没有删除价格,则仅显示当前价格.

一切正常,除了没有三振出价时的价格调整.两种价格都需要水平放在一起,并且在任何一种情况下都是中心对齐的.但如果删除线价格为空/空白,我无法对当前价格文本字段进行居中对齐.当存在三振出价时,这不是问题,因为两个文本字段在设计器视图中都正确对齐.

另外,如何根据strikout-price的可用性放置条件格式?如果不存在删除线价格,则当前价格的字体颜色应与有删除价格时的字体颜色不同.

编辑:以下两种情况的图像

当Strikeout-price可用时,它应该是这样的:

当Strikeout-price可用时,它应该是它的外观

当Strikeout-price不可用时,显示价格的文本字段应居中对齐:

当Strikeout-price不可用时,显示价格的文本字段应居中对齐

jasper-reports ireport

0
推荐指数
1
解决办法
3214
查看次数

System.getProperty(“java.classpath”) = null?

大家好,我在这里转转,我需要你们能帮助我。

已经有一段时间了,但我发布了这个:

使用iReport-5.6.0 Java编译时出错

过了一会儿我决定重试,问题是它无法在 iReport 5.6.0 中编译任何报告。

在 NetBeans 中打印此控制台时:

System.out.println (System.getProperty ("java.classpath"));
Run Code Online (Sandbox Code Playgroud)

我得到空

这种情况说明windows JAVA环境变量有错吗?

我可以做什么?任何人都可以帮助我。

java netbeans compiler-errors jasper-reports ireport

0
推荐指数
1
解决办法
5905
查看次数