【问题标题】:execute drill down jasper report in pop up JasperReports Server在弹出的 JasperReports Server 中执行向下钻取 jasper 报告
【发布时间】:2016-07-04 03:50:14
【问题描述】:

如何在同一窗口中以弹出窗口的形式执行下钻子报表?
现在它在 JasperReports Server 的同一窗口中向下钻取。
下面是代码:

<textField hyperlinkType="ReportExecution"> 
   <reportElement mode="Opaque" x="0" y="0" width="60" height="20" forecolor="#2471D6" uuid="dcbcfbd0-98a4-4c94-a7a5-01ff9bff8db8"/> 
   <textElement textAlignment="Center" verticalAlignment="Middle"> <font isUnderline="true"/> </textElement> 
   <textFieldExpression><![CDATA[$V{resourceunique1}]]></textFieldExpressio‌​n> <hyperlinkParameter name="_report"> 
   <hyperlinkParameterExpression><![CDATA["jrepo:/ca_ppm/ReportsCustom/sub‌​Reports/ResourceCapacityGridByProjectReport"]]></hyperlinkParameterExpression>
</textField>

我需要在参数“_report”中弹出我可以直接给javascript里面的“_report”参数表达式。如果是这样,你能带领我实现它吗

【问题讨论】:

  • 如果弹出你需要使用javascript,如果是新窗口你可以使用target="_blank",发布jrxml的相关部分(你有进入子报告的链接)
  • 你应该编辑问题(不作为评论传递),无论如何你需要复杂的弹出窗口还是一个新窗口?
  • 我需要在参数“_report”中弹出我可以直接在“_report”参数表达式中给出javascript..如果是的话。请您指导我实现它
  • 嗯,当你有 hyperlinkType="ReportExecution" 时弹出不是最简单的,你可以使用 hyperlinkTarget="Blank" 但这不会弹出,它只会打开一个新窗口......要弹出,您可能需要将 javascript 附加到标题,找到您的链接并转换为弹出...
  • 我主要是一个评论,但你可以在你的 html 的标题中添加一个 java 脚本,然后如果你使用属性 net.sf.jasperreports.export.html.class 你将能够使用 javascript 找到您的链接,您可以将它们更改为在窗口中打开...但是我不是 javascript 专家...请参阅此内容以了解如何附加类 ecc。 stackoverflow.com/questions/34673513/…

标签: hyperlink jasper-reports jasperserver drilldown


【解决方案1】:

您可以通过在 Jaspersoft Studio 中的“超链接”选项卡中填写这些值来在弹出窗口中打开报告。请注意,您需要添加您的服务器 URL:

  • 链接目标:自我
  • 链接类型:参考
  • 超链接参考表达式:"javascript:void(window.open("jasperserver-url/flow.html?_flowId=viewReportFlow&reportUnit=/public/Resources/Reports/ca_ppm/ReportsCustom/sub‌​Reports/ResourceCapacityGridByProjectReport&decorate=no'" + ","+"\'\'"+","+"\'height=480,width=950,scrollbars=no,resizable=yes,status=no,toolbar=no,menubar=no,location=no\ '"+"));"

【讨论】:

  • 感谢您的努力#jtsnr。但是我在单击超链接时正在执行报告,并且还通过链接传递了 3 个参数。所以需要将参数传递给向下钻取报告。我可以将其直接传递给“_report”参数表达式
  • 您可以使用它传递参数 - 只需将它们添加到 URL 的末尾,例如/public/Resources/Reports/ca_ppm/ReportsCustom/sub‌​Reports/ResourceCapacityGridByProjectReport&decorate=no&param1=someval&param2=someval2
  • 好的,所以您需要将这样的内容连接到 URL 部分:&decorate=no&year_param='" + $P{year} + "&month_param=" + $P{month}
  • 我认为报告等待用户单击确定的事实与您在JasperServer中创建参数的方式有关。如果您选择了 Mandatory 复选框,那么 JasperServer 将提示用户在运行报告之前单击 OK。
  • 太棒了。很高兴它奏效了。另外我认为使用 javascript:void(window.open(...)) 可以解决“[object]”问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多