JSF Primefaces: Буг после того, как экспортировали rows выбранные (excel, pdf)

Я располагаю таблицей, на которой я могу выбирать несколько линий посредством одного checkbox что был бы колонной selector:

<p:dataTable    value="#{cityBean.cities}" var="city" id="dt_cities" widgetVar="w_cities"
                filteredValue="#{cityBean.filteredCities}"
                selection="#{cityBean.selectedCities}" 
                rowKey="#{city.id}"
                rowSelectMode="add"
                scrollable="true" scrollHeight="300">
    <p:column id="selector" selectionMode="multiple" style="text-align:center" />
    <p:column headerText="Name" sortBy="#{city.name}" filterBy="#{city.name}"  filterMatchMode="contains">
        <h:outputText value="#{city.name}" />
    </p:column>
</p:dataTable>

Потом у меня есть две кнопки, с которыми я могу экспортировать отборные линии (посредством selectionOnly="true") двух форм: XLS или PDF.

<h:commandLink >
   <p:graphicImage url="#{resource['icons/excel_exports.png']}" />
   <p:dataExporter type="xls" target="dt_cities" fileName="list_cities" selectionOnly="true" />
</h:commandLink>
<h:commandLink>
   <p:graphicImage url="#{resource['icons/pdf_exports.png']}" />
   <p:dataExporter type="pdf" preProcessor="#{cityBean.pdfLandscape}" 
                            target="dt_cities" fileName="list_cities" 
                            selectionOnly="true"/>
</h:commandLink>

bug с которым я встречаюсь, дело в том, что например: я располагаю списком 10 elementos пронумерованные 1 al 10, я выбираю элементы 9, 8, 5 y 2. Нажав на кнопки экспорта они появляются у меня 4 elementos но не соответствуют Вашему выбору, появляются элементы 1, 2, 3 y 4.

Допусти, что все элементы выбраны, но не умей интерпретировать, которые.

В настоящее время я использую: JSF 2.2 и Primefaces 5.1 RC1.

3
задан 15.06.2017, 21:21
1 ответ

AГ±ade колонна и подтверди, что поле id каждых city было Гєnico. Например:

<p:column id="cityId" value="#{city.id}" />
1
ответ дан 24.11.2019, 12:55
  • 1
    Это не никакая solució n в мою проблему, это случай доказательства bá sico, что уже probé в Вашем моменте. – Ralsho 18.11.2016, 14:15

Вероятно будьте ошибкой, свойственной Primefaces 5.1.

Для случая экспорта в PDF:

Я предлагаю тебе добавлять в твой проект, primefaces-extensions 3.0.0, который является совместимой версией с Primefaces 5.1. Если ты используешь Maven, это было бы таким:

<dependency>
    <groupId>org.primefaces.extensions</groupId>
    <artifactId>primefaces-extensions</artifactId>
    <version>3.0.0</version>
</dependency>

В твоем XHTML добавь следующую область имен:

xmlns:pe="http://primefaces.org/ui/extensions" 

... и в твоей кнопке, вместо того, чтобы использовать p:dataExporter, используй pe:exporter.

<h:commandLink>
   <p:graphicImage url="#{resource['icons/pdf_exports.png']}" />
   <pe:exporter type="pdf" preProcessor="#{cityBean.pdfLandscape}" 
                            target="dt_cities" fileName="list_cities" 
                            selectionOnly="true"/>
</h:commandLink>

Этикетка pe:exporter он позволяет тебе экспортировать также Excel, но только он это делает он делал XLSX и не XLS.

2
ответ дан 03.12.2019, 19:32
  • 1
    К сожалению он не используется maven в этом проекте, но я это имею в виду, большое спасибо из-за твоей альтернативы :) –  28.12.2016, 11:33