filterMatchMode lte和gte在p:dataTable的filter facet中的p:calendar上不起作用

时间:2015-12-14 14:44:56

标签: jsf primefaces filter datatable calendar

当我在primeFaces中使用Calendar时,我不能按表过滤。

JAVA:

private Date creationDate;
private Date dateFrom;
private Date dateTo;

XHTML(仅适用于LT和GT /不工作的LTE,GTE):

<p:column filterBy="#{tab.dateTo}" headerText="Date to" filterMatchMode="lte">
            <f:facet name="filter">
                <p:calendar pattern="yyyy-MM-dd">
                    <p:ajax event="dateSelect" oncomplete="PF('datesTableDefinition').filter()"/>
                </p:calendar>
            </f:facet>
            <p:outputLabel value="#{tab.dateTo}">
                <f:convertDateTime pattern="yyyy-MM-dd"/>
            </p:outputLabel>
        </p:column>

我想得到==,&lt; ,&gt; ?

1 个答案:

答案 0 :(得分:0)

你可以这样做,对我有用!

而不是filterMatchMode使用filterFunction="#{controller.filterByDate}"

public boolean filterByDate(Object value, Object filter, Locale locale) {
    if( filter == null ) {
        return true;
    }

    if( value == null ) {
        return false;
    }

    return DateUtils.truncatedEquals((Date) filter, (Date) value, Calendar.DATE);
}

https://stackoverflow.com/a/30116077/3255595