【问题标题】:JasperReport parameters works in iReport but fails on JasperServer with input controlJasperReport 参数在 iReport 中有效,但在带有输入控制的 JasperServer 上失败
【发布时间】:2012-07-06 12:57:18
【问题描述】:

JasperServer 未将参数从输入控件传递到报表,原因不明。

我使用 iReport 4.6(甚至尝试了兼容模式 4.0.1)使用 iReport 中的输入参数定义了一个 jrxml 报告。

当我在 jasperserver 4.5 上部署报告时,我得到的响应是“报告为空”。

没有参数的相同报告也可以正常工作。

当然,我使用单选查询定义并附加了输入控件。

输入控件中的值列和可见列是我在 jrxml 中用作参数的同一个 DB 字段。

作为可能输入的查询值显示得很好,但是当我选择一个时...“报告为空”!!。

我尝试简化报表,但输入控件中的参数不会被传递以呈现报表。

【问题讨论】:

  • 您确定您的查询参数和输入控件的 ID 是完全相同的字符串吗?我们能否看到使用输入控件中的值的查询部分以及有关输入控件的信息? (名称、数据类型等)
  • 当然,我确定了——两者都是完全相同的字符串。我的查询看起来像这样select id, c_name from d_customers where id = $P{id} ..输入控制非常简单select id, c_name from d_cust。然后我将“id”设为 value 列,将“c_name”设为 name 列。报告是空的 :-) 您还需要其他输入吗?感谢您的帮助
  • 你知道它为什么会崩溃吗?我已经尝试了新的 jasperserver 实例、新的 tomcat 和新的 Postgres DB,但我仍然无法在没有得到报告为空的情况下传递输入参数!
  • 在您的 JRXML 文件中,您可以显示参数的输出吗?只需将它们拖到 JRXML 文件中的某个位置,您就可以看到 JasperServer 实际反馈给您的查询的内容。在 iReport 中,您可能需要将“无数据”带添加到您的报告中才能正常工作。

标签: jasper-reports ireport jasperserver


【解决方案1】:

您也必须在 jasperserver 中创建参数(不仅在 iReport 中),名称相同。

在 JasperServer 中,编辑您的报告,定义具有相同 ID 的“输入控件”并通过向导,它现在应该可以工作了。

如果您想先测试,请选择“始终要求在 Emergin 窗口中”。

你也可以在这里看答案http://jasperforge.org/node/543148

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 2017-01-04
    • 2011-05-13
    相关资源
    最近更新 更多