Merhaba arkadaşlar,
Bildiğiniz üzere primefaces'da dataExport işlemi otomatik olarak yapılıyor. Bir de columnToogler ile dataTable üzerindeki sütunları seçebiliyoruz. İşte export ederken sadece tooglerüzerinde seçtiğimiz sütunların export olması için ne yapmak lazım?
Aşağıdaki örnekte facet tag'ı içindeki kısımda dataExporter ve columnToogler taglarını görebilirsiniz. İncelemem için kaynak gönderseniz dahi işime yarayacaktır.
Örnek dataTable;
<p:dataTable id="userTable" var="user"
value="#{indexBean.userList }" paginator="true" rows="10"
lazy="true" rendered="#{indexBean.dataTableRendered ==1}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10,15,20,25,50,100">
<f:facet name="header">
<h:commandLink>
<p:commandButton value="Excel Çıktı Al"
icon="fa fa-file-excel-o"
style="float:right; height:34; width:180"
title="Excel Çıktı Al" />
<p:dataExporter type="xls" target="userTable"
fileName="users" />
</h:commandLink>
<p:commandButton id="toggler" type="button"
value="Sütunları Seç" style="float:right; height:34; width:180"
icon="ui-icon-calculator" />
<p:columnToggler datasource="userTable" trigger="toggler" />
</f:facet>
<p:column headerText="userid" sortBy="#{user.userId}"
filterBy="#{user.userId}">
<h:outputText value="#{user.userId}"></h:outputText>
</p:column>
<p:column headerText="username" sortBy="#{user.userName}"
filterBy="#{user.userName}">
<h:outputText value="#{user.userName}"></h:outputText>
</p:column>
<p:column headerText="firstname" sortBy="#{user.userFirstName}"
filterBy="#{user.userFirstName}">
<h:outputText value="#{user.userFirstName}"></h:outputText>
</p:column>
</p:dataTable>