小编gYa*_*anI的帖子

PrimeFaces从Lazyloading DataTable导出数据

我想在报告生成期间导出具有LazyLoad DataModel的dataTable(带分页).

问题: 当我导出时,报告将逐页从数据库生成,然后导出到Excel/PDF,消耗更多时间.我希望通过逐页生成数据集跳过页面来获取它.

我正在制作我的代码片段如下:

JSF:

<p:dataTable id="dTable" var="dev" value="#{ReportAction.lazyModel}"
    styleClass ="table_paginator" rowKey="#{device.macAddress}" paginatorPosition="bottom"
    paginator="true" rowsPerPageTemplate="10,20,30" rows="10" lazy="true" 
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
    emptyMessage="Select appropriate conditions and click 'Generate Report'">

    <f:facet name="header">
        <h:commandLink actionListener="#{ReportAction.doExport}">
            <p:graphicImage value="../../../resources/images/excel.png"
                alt="XLS" style="float:right;width:32px;height:32px" />
            <p:dataExporter type="xls" target="dTable" fileName="#{ReportAction.fileName}"
                            preProcessor="#{ReportAction.preProcess}"
                            postProcessor="#{ReportAction.postProcessXLS}"  />
        </h:commandLink>
    </f:facet>

    <!-- All the columns in Data Table  -->

</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

托管Bean:

public class ReportAction {


    private ConfigurationReportDataModel mediumConfigModel;
    private List<FieldReportModel> configModelList;
    private String fileName;
    private LazyDataModel<ConfigurationReportModel> lazyModel;
    private boolean export; 

    public …
Run Code Online (Sandbox Code Playgroud)

datatable lazy-loading data-export primefaces jsf-2

5
推荐指数
1
解决办法
6362
查看次数

标签 统计

data-export ×1

datatable ×1

jsf-2 ×1

lazy-loading ×1

primefaces ×1