【问题标题】:Compile a jasper file from jrxml in a jrxml file? Is it possible?在 jrxml 文件中从 jrxml 编译 jasper 文件?可能吗?
【发布时间】:2013-12-05 03:25:59
【问题描述】:

我有一个 jrxml 文件并想添加一个子报表表达式。但我只有 myFile.jrxml 并且无法传递 jasper 文件。是否可以将我的 jrxml 文件编译为 jasper 文件,而不是使用 java 代码,而是在当前的 jrxml 文件中?如果可能的话,如何做到这一点?

<subreportExpression  class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR}+"/myFile.jasper"]]></subreportExpression>

我试过了:

<subreport  isUsingCache="true">

<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
          <subreportExpression  class="net.sf.jasperreports.engine.JasperReport"><![CDATA[net.sf.jasperreports.engine.JasperCompileManager.compileReport(net.sf.jasperreports.engine.xml.JRXmlLoader.load($P{SUBREPORT_DIR} + "myFile.jrxml"))]]></subreportExpression>

</subreport>

但发生错误: 严重:评估表达式时出错: 源文本:net.sf.jasperreports.engine.JasperCompileManager.compileReport(net.sf.jasperreports.engine.xml.JRXmlLoader.load($P{SUBREPORT_DIR} + "myFile.jrxml"))

【问题讨论】:

    标签: jasper-reports ireport


    【解决方案1】:
    <subreportExpression>
      <![CDATA[JasperCompileManager.compileReport($P{SUBREPORT_DIR}+"/myFile.jrxml")]]>
    </subreportExpression>
    

    【讨论】:

    • 谢谢 - 这对我有用。似乎是该问题的最佳答案。
    【解决方案2】:

    从我在终极指南中读到的答案是否定的,这是不可能的。为什么无法将子报表编译成 jasper 文件?

    【讨论】:

    • 因为我应该从父 jrxml 传递一些参数。
    • 您可以将参数传递给jasper文件,您不必将参数传递给jrxml然后编译。只需将参数传递给 jasper 就可以了。
    【解决方案3】:

    是的,有可能,我不知道这里使用的代码,只需打开 iReport 5.0。打开.jrxml 文件,它会在屏幕上轻松显示转换选项。给出保存.jasper 文件的路径。现在你有了.jrxml,它是可编辑的jasper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 2016-08-06
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多