p:dataExporter 仅选定的行

p:dataExporter selected rows only

我有一个带有多个 selection 复选框的 <p:dataTable>。我只想将一些行导出到我的 pdf。现在,当我尝试根据 selected 行导出时,它只给我从顶部开始的行。例如,如果我的数据表中有 10 行,并且我要将 select 1,4,7,9 导出到我的 PDF。我总是在我的 pdf 中得到第 1、2、3、4 行。我正在使用 PrimeFaces 5.1 罐子。我也用 5.2 jar 试过了,还是一样的问题。

<p:dataTable id="dataall"
             var="cars"
             value="#{carsEntry.carssUser}"
             rows="10"
             rowIndexVar="rowId"
             paginator="true"
             rowKey="#{cars}"
             paginatorTemplate="{CurrentPageReport}
             {FirstPageLink} {PreviousPageLink}
             {PageLinks} {NextPageLink}
             {LastPageLink} {RowsPerPageDropdown}"
             rowsPerPageTemplate="5,10,15"
             editable="true"
             selection="#{carsEntry.selectedRows}">

    <p:column selectionMode="multiple" exportable="false"/>

    <p:column headerText="ID" sortBy="#{cars.id}">
        <h:outputText value="#{cars.id}" />
    </p:column>
</p:dataTable>

<h:commandLink>
    <h:outputText  value="PDF" />

    <p:dataExporter type="pdf"
                    target="dataall"
                    fileName="AllCars"
                    selectionOnly="true"/>
</h:commandLink>

查了这两个,还是没有明确的答案。

http://forum.primefaces.org/viewtopic.php?f=3&t=31804 https://code.google.com/p/primefaces/issues/detail?id=7406

感谢我的朋友 Sathish。我能够找到解决此问题的方法。我将所选值填充到新数据 table 并导出该数据。因此我得到了正确的导出值。我为第二个数据 table 制作了 rendered="false"。

Primefaces 5.2 不支持泛型 (List<>),仅支持数组 ([])。它已在 Primefaces 5.3 上修复。