2011-05-26 98 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