こんにちは、私は独自の「エクスポート」ボタンを備えた複数のテーブルを作成しようとしています。ui:repeat タグを使用してすべてのデータテーブルを生成します。問題は、テーブルの ID を dataexporter の target 属性に入れる必要があることです。 JSFでは、IDを動的に生成することはできません。データテーブルを区別できません。それらはすべて同じIDを持っています:(:
<ui:repeat var="location" value="#{locationOwner.locations}"
varStatus="status">
<h2>
Localidad:
<h:outputText value="#{location.name}" />
</h2>
<h:commandLink>
<p:graphicImage value="resources/images/excel.png" />
<h:outputLabel>Exportar</h:outputLabel>
<p:dataExporter type="xls" target="tablaExp"
fileName="pedidosEnDisponibilidad#{location.name}" />
</h:commandLink>
<p:dataTable id="tablaExp" var="storeRequest"
value="#{location.userRequests}">
<p:column>
<f:facet name="header">Nombre del cliente</f:facet>
<h:outputText value="#{storeRequest.clientName}" />
</p:column>
<p:column>
<f:facet name="header">Email del cliente</f:facet>
<h:outputText value="#{storeRequest.clientEmail}" />
</p:column>
<p:column>
<f:facet name="header">Número del cliente</f:facet>
<h:outputText value="#{storeRequest.clientNumber}" />
</p:column>
<p:column>
<f:facet name="header">Equipo</f:facet>
<h:outputText value="#{storeRequest.equipo.productName}" />
</p:column>
<p:column>
<f:facet name="header">Método de contacto</f:facet>
<h:outputText value="#{storeRequest.contactMethod}" />
</p:column>
<p:column>
<f:facet name="header">Fecha del pedido</f:facet>
<h:outputText value="#{storeRequest.requestedDate}" />
</p:column>
</p:dataTable>
</ui:repeat>