2011-05-26 77 views
0

我在列上使用PrimeFrameTable和filterBy。我也有一个链接,点击时,清空基础表。一切工作正常,直到我过滤了一些东西。如果我然后清除基础表,该表仍然显示在缓存中,并且直到我更改filterBy值时它才会更新为空表。看起来filterBy输入组件仍然保留在事件监听器上。对不起,我没有做好解释。这里是我的代码snipet:Primeface如何取消filterBy组件上的事件侦听器

<h:form id="logFormId" prependId="false"> 
    <p:dataTable value="#{logger.logLines}" var="logMsg" 
    id="loggerTable" dynamic="false" widgetVar="logTable"> 
    <f:facet name="header"> 
     <h:commandLink action="#{logger.clearList}"> 
    <f:ajax render="@form" execute="@form" /> 
    </h:commandLink> 
    </f:facet> 
    <p:column> 
    <f:facet name="header"> 
    <h:outputText value="#{msgs.LoggerDate}" /> 
    </f:facet> 
    <h:outputText value="#{logMsg.dateText}" /> 
</p:column> 
<p:column sortBy="#{logMsg.source}" 
    filterBy="#{logMsg.source}" filterMatchMode="contains" > 
    <f:facet name="header"> 
    <h:outputText value="#{msgs.LoggerSource} " /> 
    </f:facet> 
    <h:outputText value="#{logMsg.source}" /> 
</p:column> 
    </p:dataTable> 
</h:form> 

感谢您的任何帮助,可以给我。
Binh Nguyen

回答

0

我不知道我知道答案,但这里有一些事情要尝试。我认为这是primefaces 2.2。

  1. 我不认为动态属性在p再使用:数据表

  2. 在你F:阿贾克斯元素,尝试渲染=的@form “loggerTable”代替。

+0

感谢您的回复。不幸的是,当我进行修改时,行为不变。我正在使用Primefaces 2.2.1。平 – Binh 2011-05-31 10:45:19