【发布时间】:2016-08-19 15:44:41
【问题描述】:
我已经尝试了几个小时来让过滤器在数据表上工作,我已经按照教程进行操作,并且我还阅读了很多关于 stackoverflow 的问题,但它仍然不起作用......任何帮助将不胜感激!
<p:dataTable value="#{filterThreads.threads}" var="t"
emptyMessage="No threads found with given criteria"
lazy="false"
paginator="true"
rows="10"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="10,50,100"
widgetVar="threadsTable" tableStyleClass="table table-striped" style="border:none"
filteredValue="#{filterThreads.filteredThreads}">
<f:facet name="header">
<p:outputPanel>
<h:outputText value="Search all fields:" />
<p:inputText id="globalFilter" onkeyup="PF('threadsTable').filter()" style="width:150px" placeholder="Enter keyword"/>
</p:outputPanel>
</f:facet>
<p:column filterBy="#{t.uuid}" filterStyle="display:none">
<f:facet name="header">UUID</f:facet>
<h:outputText value="#{t.uuid}"/>
</p:column>
<p:column filterBy="#{t.initiator}" filterStyle="display:none">
<f:facet name="header">Initiator</f:facet>
<h:outputText value="#{t.initiator}"/>
</p:column>
<p:column filterBy="#{t.email}" filterStyle="display:none">
<f:facet name="header">Email</f:facet>
<h:outputText value="#{t.email}"/>
</p:column>
<p:column filterBy="#{t.subject}" filterStyle="display:none">
<f:facet name="header">Subject</f:facet>
<h:outputText value="#{t.subject}"/>
</p:column>
<p:column filterBy="#{t.date}" filterStyle="display:none">
<f:facet name="header">Date</f:facet>
<h:outputText value="#{t.date}"/>
</p:column>
</p:dataTable>
谢谢!
【问题讨论】:
-
你调试了什么?为什么其他问题不起作用?展示示例是否有效?很多事情你可以而且应该自己做。包括阅读How to Ask和stackoverflow.com/tags/jsf/info并提供版本信息
-
@Unknown 我已经查看并关注了它。我一辈子都看不出哪里出了问题。
-
您能指定您在全局过滤器中输入的值是什么,您要过滤什么?
-
@Unknown 不确定我是否理解您的要求,但我输入了一个字符串来尝试查找由电子邮件、uuid、主题、发起者和日期组成的“线程”,它们都是字符串。我想取回一个或多个包含我在搜索栏中传递的字符串的线程。由于某种原因,它只是返回全部为空。当我不搜索任何内容时,数据表会很好地显示数据,但如果我输入任何内容,它会丢失所有元素,并且在我刷新页面之前它们不会返回。
标签: jsf primefaces filter datatable filtering