In short, I had the following and was causing the same error:
<f:facet name="header">Date</f:facet>
<f:facet name="filter">
<h:outputText value="Year: " />
<p:selectOneMenu onchange="PF('myTable').filter();">
<f:selectItem itemValue="" itemLabel="All" />
<f:selectItems value="#{bean.conditionalYears}" var="yearSelect" itemValue="#{yearSelect.value}" itemLabel="#{yearSelect.label}" />
</p:selectOneMenu>
</f:facet>
I had to remove everything from <f:facet name="filter" />
except the <p:selectOneMenu />
In my case, the <h:outputText />
(not limited to outputText) was causing ClassCastException
in FilterFeature:277 that were swallowed by UIData.visitTree(VisitContext, VisitCallback)
(doesn't have CATCH)
filterValue = ((ValueHolder) filterFacet).getLocalValue();
For some reason, filterFacet
is an UIPanel
, not a SelectOneMenu
as expected.
So, the answer is:
If you are using <f:facet name="filter" />
, then try removing everything from it except your custom filter field.