在我的应用程序中,我使用全局过滤器来搜索 Primefaces DataTable 中的记录,并且我在同一个 DataTable 上应用了 DataExporter。
当我搜索任何记录并进行导出时,它会返回一个完整的数据列表而不是过滤列表。
我的开发环境是:java 6.0、Primefaces 3.2、JSF2.1、GlassFish Server 3.1.2、Netbeans 7.1.1
在我的 dataTable 和 dataExporter 代码下方列出。
我的数据表代码是::
<p:dataTable value="#{personnelController.allItems}"
emptyMessage="#{bundle.PersonnelEmpty}"
selectionMode="single"
dblClickSelect="false"
var="item"
id="tbl"
rowKey="#`enter code here`{item.id}"
sortBy="#{item.lastName}"
sortOrder="ascending"
widgetVar="itemTable"
paginator="true"
paginatorPosition="bottom"
paginatorAlwaysVisible="false"
currentPageReportTemplate="Page {currentPage} of {totalPages}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
rows="10"
>
<f:facet name="header">
<p:outputPanel>
<h:outputText value="#{bundle.GlobalFilterPrompt}" />
<p:inputText id="globalFilter"
onkeyup="itemTable.filter()"
style="width:150px;"
/>
<p:watermark for="globalFilter" value="#{bundle.GlobalFilterWatermark}" />
</p:outputPanel>
</f:facet>
<p:ajax event="rowSelect" listener="#{personnelController.onRowSelectNavigate}" />
<p:column
sortBy="#{item.lastName}"
filterBy="#{item.lastName}"
filterStyle="display: none;"
>
<f:facet name="header">
<h:outputText value="#{bundle.PersonnelTitle_lastName}"/>
</f:facet>
<h:outputText value="#{item.lastName}"/>
</p:column>
<p:column
sortBy="#{item.firstName}"
filterBy="#{item.firstName}"
filterStyle="display: none;"
>
<f:facet name="header">
<h:outputText value="#{bundle.PersonnelTitle_firstName}"/>
</f:facet>
<h:outputText value="#{item.firstName}"/>
</p:column>
<p:column
sortBy="#{item.location.name}"
filterBy="#{item.location.name}"
filterStyle="display: none;"
>
<f:facet name="header">
<h:outputText value="#{bundle.PersonnelTitle_locations}"/>
</f:facet>
<h:outputText value="#{item.location.name}"/>
</p:column>
<p:column
sortBy="#{item.department.name}"
filterBy="#{item.department.name}"
filterStyle="display: none;"
>
<f:facet name="header">
<h:outputText value="#{bundle.PersonnelTitle_departments}"/>
</f:facet>
<h:outputText value="#{item.department.name}"/>
</p:column>
</p:dataTable>
我正在将数据表外部的表数据导出为::
<h:commandLink>
<p:graphicImage value="#{resource['images:excel.png']}" />
<p:dataExporter type="xls" target=":personnel:tbl" fileName="personnel" />
</h:commandLink>
如果我做错了什么,请建议我。