通过RapidClipseX致电JasperReports报告

问题描述

对于RapidClipse4,我使用以下代码调用并在新窗口中打开JasperReport

try {
    this.browserFrame = new XdevBrowserFrame();
    final Resource exportToResource = Report.New()
        .jrxml("WebContent/WEB-INF/resources/reports/MeinReport.jrxml")
        .dataSource( com.xdev.dal.DAOs.get(com.MyReportDAO.class)
                            .parameter("selJahr",selJahr)
                            .mapField("L1_GroupName","l1GroupName")
                            .mapField("L2_GroupName","l2GroupName").mapField("dBetrag","dbetrag")
                            .mapField("JahrMonat","jahrMonat")
            .exportToResource(ExportType.PDF);

        this.browserFrame.setSource(exportToResource);

} catch (final Exception e) {
    e.printStackTrace();
}

几个月前,我切换到RapidClipseX。 但是使用的代码没有更多的工作。

是否有任何经验/示例代码

  • 从RapidClipseX Web应用程序中调用JasperReport吗?
  • 以pdf格式在新窗口中打开它吗?

解决方法

这是一个小例子:

final StreamResource pdf = Report.New()
        .dataSource(new ArrayList<>())
        .jrxml("/Simple.jrxml")
        .exportToResource(Format.Pdf());

final HtmlObject pdfViewer = new HtmlObject(pdf,"application/pdf");
pdfViewer.setSizeFull();

this.add(pdfViewer);

另一个有用的提示:在代码视图中时,在代码面板的左上方有一个“报告”条目。单击此按钮时,将打开一个向导,该向导将帮助您创建导入碧玉报告所需的代码。

,

在上述答案的帮助下,我通过以下代码运行了它:

            final StreamResource pdf = Report.New()
            .jrxml("/frontend/reports/MyReport.jrxml")
            .dataSource(MyReportDAO.INSTANCE.findAll())
            .mapField("Beschreibung","beschreibung").mapField("Status","status")
            .mapField("Erfassungsdatum","erfassungsdatum").mapField("StatusAenderungsDatum","statusAenderungsDatum")
            .exportToResource(Format.Pdf());
        
        final HtmlObject pdfViewer = new HtmlObject(pdf,"application/pdf");
        pdfViewer.setSizeFull();
        this.add(pdfViewer);

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...