Как открыть отчет Jasper, когда вкладка меняется в tabView? - PullRequest
0 голосов
/ 03 июля 2019

Я хочу отображать свой отчет Jasper при нажатии на панели вкладок

<p:tabView  id="reportTabView" styleClass="text-right">                  
    <p:ajax  event="tabChange" listener="#{bean.viewReport()}" update=""/>
    <p:tab title="" id="reportTabId" >
        <p:panel id="report_panel" rendered="" toggleable="true" 
        styleClass="reportpanel"  toggleSpeed="500" closeSpeed="500" 
        widgetVar="panel">
            <jr:source id="jasper_source" type="jndi" value="# 
            {appSettings['report.connection.jndi']}" />
            <jr:reportFrame  id="report1" rendered=""
            value="" format="pdf" source="jasper_source" style="width: 95%  
            !important; 
            height: 600px !important;">
               <f:param name="headerRelPath" value="#{bean.headerRealPath}" />
            </jr:reportFrame>
        </p:panel> 
    </p:tab>
</p:tabView>

и два метода в bean-компоненте - один для просмотра отчета, а другой для установки заголовка

private void setHeaderRealPath() {
    headerRealPath = (ReportExporter.getRootPath() + 
    "/reports/TemplateHeader/");
}

public void viewReport() {
    if (selectedRow != null) {
        viewReportFlag = Boolean.TRUE;
        reportRelPath = "file.jasper";
    }
}
...