我有一个自定义的dataTable标记,我在所有视图中都使用它,它位于这里:src/main/webapp/WEB-INF/tags/custom\u dataTable。xhtml
我的问题是,如果我对一个或多个可过滤列进行过滤,并使用dataExporter进行导出,则列过滤会丢失,因此导出会忽略这些额外的过滤。我怎样才能改变这个?
这是自定义datatable标记的源:
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui">
<script type="text/javascript">
$ = jQuery;
var scrollPos;
function saveScrollPos() {
scrollPos = $(".ui-datatable-scrollable-body").scrollTop();
}
function getScrollPos() {
$(".ui-datatable-scrollable-body").scrollTop(scrollPos);
}
</script>
<p:dataTable id="#{id}" value="#{value}" var="item" widgetVar="#{widgetVar}"
draggableColumns="true" filterDelay="1000"
styleClass="breakwords"
emptyMessage="#{bundle.EmptyMessage}" filteredValue="#{controller.filteredItems}"
selectionMode="single" selection="#{controller.selected}"
rowKey="#{item.id}"
rowStyleClass="#{rowStyleClass}"
sortBy="#{sortBy}" sortOrder="#{(sortOrder!=null)?sortOrder:'ascending'}"
scrollRows="30" scrollable="true" liveScroll="true" scrollHeight="400"
tableStyle="#{tableStyle}"
>
<p:ajax event="rowSelect" update="createButton viewButton editButton deleteButton"/>
<p:ajax event="rowUnselect" update="createButton viewButton editButton deleteButton"/>
<f:facet name="header">
<p:outputPanel >
<p:inputText id="globalFilter" style="width:150px" onkeyup="PF('#{widgetVar}').filter()" placeholder="Searching..."/>
<h:commandLink style="float:right">
<p:graphicImage name="/images/csv.png" width="24"/>
<p:dataExporter type="csv" target="#{id}" fileName="list"/>
</h:commandLink>
<h:commandLink style="float:right">
<p:graphicImage name="/images/excel.png" width="24"/>
<p:dataExporter type="xls" target="#{id}" fileName="list" />
</h:commandLink>
<p:commandButton icon="ui-icon-refresh" oncomplete="javascript:window.location.reload();" action="#{controller.refresh}" value="Refresh" style="float:left" />
<p:commandButton id="toggler" type="button" value="Oszlopok" style="float:left" icon="ui-icon-calculator" />
<p:columnToggler datasource="#{id}" trigger="toggler" >
<p:ajax event="toggle" listener="#{controller.getControllerDelegate().onToggle}" />
</p:columnToggler>
</p:outputPanel>
</f:facet>
<ui:insert />
</p:dataTable>
</ui:composition>
我的Primefaces版本:
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.2</version>
<type>jar</type>
</dependency>
PrimeFaces出口商应该处理这个问题。如果数据表的支持bean值放在RequestScoped中,这可能会导致这种特殊行为——在触发导出时丢失过滤器值。解决方案是将过滤和其他表属性的支持bean值放在ViewScoped下。
在我的应用程序中,我使用全局过滤器搜索Primefaces数据表中的记录,并在同一数据表上应用了DataExporter。 当我搜索任何记录并进行导出时,它会返回给我一个完整的数据列表,而不是过滤列表。 我的开发环境是:java 6.0、Primefaces 3.2、JSF2.1、GlassFish Server 3.1.2、Netbeans 7.1.1 登记在我的dataTable和dataEx
我使用primefaces 3.5,我有一个p:dataTable,其中有一些行和数据,我想将这些数据导出到xls文件或其他文件中。 我使用了代码: 这很好用! 我的问题是,我希望在导出的文件和浏览器数据表中有不同的单元格文本。 例如,在导出的xls文件中,我需要在浏览器数据表中设置其他日期格式。否则浏览器单元格中的文本太长! 我试图添加一个额外的列,其中rendered=“false”和expo
我决定问这里,这样我就能解决我的问题。在我写信给你之前,我可以向你保证,我在谷歌搜索了很多,但没有找到答案。 在我的PRIMEFACES中,p:DataTable中p:Column中的sortBy和filterBy不起作用。 让我们从SortBy开始。()在我尝试的所有版本中,如您在下面的pom.xml中所看到的:6.2,7.0,7.0.rc3,8.0,8.0.rc3中所示,它都有这样的行为:它显
我正在使用PrimeFaces 5并使用dataexport导出. xls和pdf文件。当我单击导出时,似乎什么都没有发生。下面是我的代码: dataTable和Export命令都在一个表单中。它类似于素数面上给出的示例。组织网站。但是,我无法将数据导出到pdf、cvs。
问题内容: 似乎在最新版本的PrimeFaces中,为DataExporter 添加了新类型(请参阅当前primefaces 6.2文档中的ExporterType) 对于新的Apache POI XLSX和XLSXSTREAM类型,我似乎在网上找不到任何东西。有人可以解释两者之间的区别吗?一个比另一个更有效吗?导出数据的大小是否有限制? 问题答案: 我可以解释。它们均产生与使用Apache PO
我可以成功地构建以下数据表: 但我有个例外: 当我尝试使用p:dataExporter组件导出时: 是。 有什么想法吗? 代码段: 类具有和属性;类具有属性。