2016-05-09 10 views
1

Hier verwende ich DataExporter für meine Tabelle in primeFaces, Es ist erfolgreich in type = "xls" exportiert, aber das Problem ist, dass ich zusätzlich columnToggler für die Auswahl von Spalten und ich will nur die Spalten für den Export in xls-Datei, sind solche geprüft/ausgewählt in columnToggler wie Ziel: enter image description hereSo exportieren Sie nur ausgewählte Spalten mit columnToggler

hier ist der Code meiner dataExporter, die meinen Tisch gezielt (id = "TBL").

<h:commandLink> 
    <img src="Resources/images/excel.png"/> 
    <p:dataExporter type="xls" target="tbl" fileName="dailyPoolReport_#{userAuthorization.user.loginName}" pageOnly="false" postProcessor="#{customizedDocumentsView.postProcessXLS}"/> 
    </h:commandLink> 

Und hier ist mein Tabellencode mit columnToggler:

<p:dataTable id="tbl" var="car" value="#{dailyTrackingBean.trackReportData}" rowIndexVar="row" style="font-size:12px; margin-bottom:0;" 
               paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
               rowKey="#{car.vehicle.regNo}" 
               paginator="true" rows="50" rowsPerPageTemplate="50,100,500,1000,5000"> 


<f:facet name="header" > 
<h:outputText value="Vehicle Tracking Summary Report" style="font-size: 14px"/> 

    <p:commandButton id="toggler" type="button" value="Columns" style="float:right;height: 22px;font-size: 11px" icon="ui-icon-calculator" /> 
<p:columnToggler datasource="tbl" trigger="toggler" > 

    </p:columnToggler> 

</f:facet> 

Gibt es eine mögliche Lösung ist?

Antwort

6

zu tun, dass Sie etwas Ähnliches wie diese verwenden: http://blog.primefaces.org/?p=3341

So können Sie eine Liste von boolean haben, die die toogles für die attibute „sichtbar“ darstellt und das gleiche für „exportierbar“

können

Ex:

<f:facet name="header"> 
    List of Cars 
    <p:commandButton id="toggler" type="button" value="Columns" style="float:right" icon="ui-icon-calculator" /> 
    <p:columnToggler datasource="cars" trigger="toggler"> 
    <p:ajax event="toggle" listener="#{dtBasicView.onToggle}" /> 
    </p:columnToggler> 
</f:facet> 



<p:column headerText="Id" visible="#{dtBasicView.list[0]}" exportable="#{dtBasicView.list[0]}"> 
        <h:outputText value="#{car.id}" /> 
</p:column> 

Ein weiteres Plus - Wenn Sie die oben verwenden auch umgehen:
* Das Problem (columntoggler und pagi Nation)
* Das Problem (columntoggler und globalfilter)

es Hoffnung hilft Ihnen :)

+0

Das funktionierte für mich. Hopever, da ich dynamisch generierte Spalten verwende (zB ) Ich muss das "update" -Attribut in meinem -Tag verwenden, sonst werden die sichtbaren und exportierbaren Attribute nicht auf der jsf-Seite angezeigt. – nettie

Verwandte Themen