使用Enum在p:dataTable中进行过滤

时间:2014-12-17 14:36:56

标签: jsf jsf-2 primefaces filter enums

  

如何使用Enum过滤p:dataTable

我的方法如下:

<p:column filterBy="#{item.EMyEnum}" filterMatchMode="in"  >
    <f:facet name="filter">
        <p:selectCheckboxMenu label="Select" onchange="PF('datatable').filter()">
            <f:selectItems value="#{MyEnum.values()}" />
            <p:ajax event="toggleSelect" onsuccess="PF('datatable').filter()"/>
        </p:selectCheckboxMenu>
    </f:facet>
    <h:outputText value="#{item.EMyEnum}"/>
</p:column>

一切看起来都不错,但是当我从下拉列表中选择一个项目时,整个内容都会被过滤掉。当我取消选择下拉菜单中的所有内容时,内容会再次出现,所以基本上过滤器似乎有效,但每次比较都会被评估为false。我不明白为什么,因为JSF内置的Enum转换器还没有?但是我在这里错过了什么或做错了什么?

我在Mojarra 2.1.29上使用PF 5.1


我使用ListEnum类型与OmniFaces GenericEnumConverter结合使用,解决了我的问题。这就像魅力一样,但我仍然想知道以前解决方案的确切问题是什么以及如何修复它。

0 个答案:

没有答案
相关问题