2015-05-27 4 views
0

Как я могу отфильтровать столбец Date в Datatable в шаблоне dd // mm/yyyy? Я использую версию Primefaces 5.2 Community.Фильтрация столбцов столбцов Дата данных Дата

<p:column sortBy="#{user.date}" styleClass="date" 
    filterBy="#{user.date}" id="date"> 

     <h:outputText value="#{user.date}"> 
      <f:convertDateTime type="date" pattern="dd/MM/yyyy" /> 
     </h:outputText> 
     <p:watermark for="@(.date)" value="#{msg['dateOfBirth']}" /> 

</p:column> 

фильтрация без преобразователя работает, но с преобразователем не работает больше

+0

Так как PrimeFaces 5.0, любой входной компонент может быть размещен внутри '', который действует в качестве фильтра колонки. Фильтрация списка результатов по датам теперь больше не отличается от фильтрации с использованием других типов значений. – Tiny

+0

Да нет проблем в фильтрации, но реальная проблема заключается в том, как фильтровать в шаблоне dd/mm/yyyy – coderxyz24

ответ

0

Это прекрасно работает для меня.

<p:column headerText="Data " filterBy="#{user.date}"> 
    <h:outputText value="#{user.date}" /> 

Но может быть им не адресности, Что ур реальная проблема.

Редактировать.

я копия вставили ур код и он отлично работает для меня ...

<p:column sortBy="#{odczyt.data_odczytu}" 
filterBy="#{odczyt.data_odczytu}" id="date"> 
    <h:outputText value="#{odczyt.data_odczytu}"> 
     <f:convertDateTime type="date" pattern="dd/MM/yyyy" /> 
    </h:outputText> 
    <p:watermark for="@(.date)" value="#{msg['dateOfBirth']}" /> 

Вы должны помнить, что фильтр оленья кожа видеть дату в преобразованном формате, но в оригинальной форме, которая исходит от вашего бэк-бэк. Итак, когда у вас есть дата в формате 'yyyy-MM-dd' и используйте конвертер 'pattern = "dd/MM/yyyy"', в поле фильтра u должен использовать тот же шаблон, что и исходный формат bean, например '2015-05 -03' .

+0

Почему downvoted? Как я уже сказал, у меня нет проблем с фильтрацией даты именно этим. Какой тип ур 'дата'? Я использую timestamp – Viwritis

+0

Это работает для вас при использовании конвертера? – Kukeltje

+0

Похоже, что до тех пор, пока для convertDateTime установлен часовой пояс. '<Р: колонка HeaderText = "Data zuzycia" filterBy = "# {odczyt.data_zuzycia}"> \t \t \t \t \t \t \t <ч: outputText значение = "# {odczyt.data_zuzycia}"> \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t 'и в web.xml' <контекст-параметр> javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE правда ' – Viwritis

-2

Не форматируйте дату в поле зрения, а скорее конвертируйте и форматируйте в качестве строки бэк-компонент.

вид

<p:column sortBy="#{user.dateAsString}" styleClass="date" 
     filterBy="#{user.dateAsString}" id="date"> 
    <h:outputText value="#{user.dateAsString}"> 
</p:column> 

резервного фасоли

public String getDateAsString() { 
    Format formatter = new SimpleDateFormat("dd/mm/yyyy"); 
    return formatter.format(date); 
} 
+0

Плохой выбор, PrimeFaces имеет достаточно способ варианты реально фильтровать по датам – Kukeltje

+0

@Kukeltje почему бы не показать нам свой ответ тогда? Мое решение работало намного легче для меня, чем пытаться использовать фильтры PF в фактические даты в представлении. – jeff

+0

Используйте фасет фильтра. Входной компонент календаря. Не нужно добавлять ответственность за просмотр (формат) к вашему bean-компоненту. Нет необходимости публиковать ответ для меня, поскольку это находится в витрине PrimeFaces. – Kukeltje

Смежные вопросы