使用JSF 2和PrimeFaces的DynamicReports

时间:2012-09-26 11:58:55

标签: java jsf-2

我正在研究需要将DynamicReport与PrimeFaces集成的项目 我的问题:有没有办法在PrimeFace面板中显示未在新页面中打开的报告。

如果可能,请完整示例,

谢谢

1 个答案:

答案 0 :(得分:0)

这是一个例子:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
        DynamicReports.report()
                .setTemplate(Templates.reportTemplate)
                .columns(stateColumn, statePorc)
                .title(Templates.createTitleComponent2("Tittle"))
                .summary(
                        DynamicReports.cht.pie3DChart()
                        .setTitleFont(boldFont)
                        .seriesColorsByName(seriesColors)
                        .setKey(stateColumn)
                        .series(
                                DynamicReports.cht.serie(itemColumn).setSeries(stateColumn)
                        )
                )
                .pageFooter(Templates.footerComponent)
                .setDataSource(createDataSource4())
                .toPdf(baos);
        InputStream inputStream = new ByteArrayInputStream(baos.toByteArray());
        barStream = new DefaultStreamedContent(inputStream, "application/pdf", "example.pdf");
        setBarStream(barStream);
    } catch (DRException e) {
        e.printStackTrace();
    }

以下是观点:

<p:dialog resizable="false" closeOnEscape="false" draggable="false" appendTo="@(body)" modal="true" id="pdfViewer" widgetVar="pdfModal" width="1220px" height="730px" style="z-index: 999;">
                <p:media cache="false" value="#{yourBean.barStream}" width="100%" height="720px" player="pdf"/>
            </p:dialog>