我的PrimeFaces表中的一列有一个下拉过滤器。该列的数据库中的数据是字符字段而不是字符串,我希望下拉过滤器中显示的信息与使用的信息不同。因此,在列表中没有“W”,下拉列表显示“警告”;但是当应用过滤器时,它会搜索“W”。
有没有一种简单的方法可以使用PrimeFaces(修改f:selectItems?),或者我必须做某种自定义过滤方法?
<p:column filterBy="#{hbel.logFlag}" headerText="Log Flag" filterMatchMode="exact">
<f:facet name="filter">
<p:selectOneMenu onchange="PF('widgetTable').filter()" >
<f:selectItem itemLabel="Choose" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{homeController.flags}" />
</p:selectOneMenu>
</f:facet>
<h:outputText value="#{hbel.logFlag}" />
</p:column>
指向homeController.java类中的以下内容
private final static String[] flags;
static
{
flags = new String[4];
flags[0] = "B";
flags[1] = "R";
flags[2] = "T";
flags[3] = "W";
}