java - primefaces数据表过滤问题

标签 java jsf primefaces

我使用 primefaces 3.4RC1 按照此 http://www.primefaces.org/showcase-labs/ui/datatableFiltering.jsf 开发带有过滤功能的数据表。但我有一些问题。过滤某些内容后,它会重复给出记录。例如,如果只有一条记录,它会重复 5 次,如果有 2 条记录,它会重复 10 次。出现这个问题的原因是什么?

<p:dataTable id="tableList" var="tablevar" value="#{tableBean.table}"
        style="font-size: 12px; width:1310px;" widgetVar="carsTable" 
        emptyMessage="No recode found with given criteria" filteredValue="#{tableBean.filteredCars }"
        scrollable="true" scrollHeight="450" resizableColumns="flase">

    <f:facet name="header">
        <p:outputPanel style="display:block; text-align:right"> 
            <h:outputText value="Search all fields:"/>  
            <p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="width:150px" />
        </p:outputPanel>
   </f:facet>

    <p:column  headerText="ID" width="50">
        <h:outputText value="#{tablevar.id}" style="font: medium "/>
    </p:column>
    <p:column  headerText="Country" width="50" filterBy="#{tablevar.country}" filterMatchMode="contains">
        <h:outputText value="#{tablevar.country}" style="font: medium"/>
    </p:column>
    <p:column  headerText="Country Code" width="50" filterBy="#{tablevar.country_code}" filterMatchMode="contains">
        <h:outputText value="#{tablevar.country_code}" style="font: medium "/>
    </p:column>
    <p:column  headerText="MGT" width="50" filterBy="#{tablevar.MGT}" filterMatchMode="contains">
        <h:outputText value="#{tablevar.MGT}" style="font: medium "/>
    </p:column>

    <f:facet name="footer" id="foot">
        <h:panelGrid columns="8" cellpadding="5"   id="pane" >
            <h:outputLabel  value="Country" />
            <p:inputText value="#{tableBean.c_country}"  id="country" required="false" label="country" />
            <h:outputLabel  value="Country_Code" />
            <p:inputText value="#{tableBean.c_country_code}"  id="countrycode" required="false" label="countrycode" />
            <h:outputLabel  value="MGT" />
            <p:inputText value="#{tableBean.c_MGT}"  id="mgt" required="false" label="mgt" />

            <p:commandButton id="loginButton" value="AddNew" update=":form:messages" actionListener="#{tableBean.addNew}" oncomplete="javascript:location.reload(true)"  onstart="return myFunction3();"/>
            <p:commandButton type="reset" value="Clear" oncomplete="javascript:location.reload(true)"/>
        </h:panelGrid>
    </f:facet>
</p:dataTable>

谢谢

最佳答案

如果您想根据 id 搜索记录,可以按照此操作。

这是简单的示例代码,尝试一下。

<p:dataTable value="#{tableBean.table}" var="tablevar" >
  <p:column style="width:10%;text-align:left" filterBy="#{tablevar.id}" >
    <f:facet name="header">
            <h:outputText value="ID" id="id" />
    </f:facet>
    <h:outputText value="#{tablevar.id}" />
 </p:column>
 <p:column style="width:20%;text-align:left" sortBy="#{tablevar.country}">
    <f:facet name="header">
       <h:outputText value="Customer" id="customer" />
    </f:facet>
    <h:outputText value="#{tablevar.country}" />
 </p:column>
</p:dataTable>

您可以仅在一列或多列中提供filterBy,这不是问题。

但是 sortBy 选项可以在所有列中给出。我已经使用上面的代码开发数据表。

关于java - primefaces数据表过滤问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14575930/

相关文章:

eclipse - 自定义 jsf taglib 的自动完成

java - 使来自 EL 的 session 无效

pdf - 如何从 PrimeFaces p :dataExporter, 自定义 PDF,例如页面大小

java - JSF/Hibernate/Rest,为什么是空指针?

java - 使用 Tomcat 创建 Restful Client Consumer

java - 如何(在网站上)检查系统上是否安装了 Java(*不是*在浏览器中)

java - Thread.holdsLock() 和锁粗化

java - JSF (PrimeFaces) 页面不适用于单一表单

java - 在 JSF primefaces 中上传文件

java - 在 Java/Spring 项目中组织版本化 REST API 代码的最佳实践(示例?)?