Я использую таблицу данных PrimeFaces с filterBy для столбца. У меня также есть ссылка, по которой при щелчке очищается базовая таблица. Все отлично работает, пока я не отфильтрую что-то. Если я затем очищу базовую таблицу, таблица будет по-прежнему отображаться из кэша, и она не будет обновляться до пустой таблицы, пока я не изменю значение filterBy. Кажется, компонент ввода 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>