Pour les anciens PrimeFaces versions de la solution doit être mise en œuvre comme dans cette réponse, pour newe versions de l'autre réponse contient la solution.
Fondamentalement, cela peut être réalisé comme ceci:
l'utilisation d'un champ caché (comme h:inputHidden) dans le filtre facette pour cacher le filtre par défaut champ de saisie
mettre un p:calendar dans le en-tête facette
ajouter un dateSelect événement sur votre calendrier. Dans onstart remplacer la valeur de votre cachés entrée par la valeur de l'agenda. Dans oncomplete utiliser le côté client de l'API pour filtrer votre datatable
écrire votre propre fonction de filtre pour comparer la valeur de l'objet et la valeur du filtre, comme l'exige
J'ai l'exigence de trop sur mon site. Toutefois, j'ai une mise en œuvre différente de @stg. Par la rédaction de cet article, je suis en utilisant Primefaces 5.0. Voici le morceau de travail qui fait le travail:
Je suis en utilisant DateUtils.truncateEquals() parce que ma date de colonne contient le timestamp. Ceci est pour s'assurer que je suis de filtrage à la date donnée, indépendamment de l'horodatage. Si ma contribution est uniquement la date, puis la vue de la table était vide.
<p:ajax event="change" ...> est nécessaire de réinitialiser la vue de la table lorsque le filtre d'entrée est de supprimer. Je n'étais pas sûr de savoir si c'est la bonne façon de gérer cela, je suis en train de l'utiliser jusqu'à ce que j'ai trouver une meilleure.
Pour les anciens PrimeFaces versions de la solution doit être mise en œuvre comme dans cette réponse, pour newe versions de l'autre réponse contient la solution.
Fondamentalement, cela peut être réalisé comme ceci:
h:inputHidden
) dans le filtre facette pour cacher le filtre par défaut champ de saisiep:calendar
dans le en-tête facetteonstart
remplacer la valeur de votre cachés entrée par la valeur de l'agenda. Dansoncomplete
utiliser le côté client de l'API pour filtrer votre datatableNoter que le
p:calendar
est censé être pour les clients d'un jour seulement. Si vous avez besoin de l'heure correcte dans votre fonction de filtre d'envisager l'utilisation d'un autre TimePicker (par exemple http://www.primefaces.org/showcase-ext/sections/timePicker/basicUsage.jsf)Edit: en Fait, PrimeFaces calendrier prend en charge datetime dans
mode="datetime"
. Je n'étais pas au courant de cela. Voir https://code.google.com/p/primefaces/issues/detail?id=648OriginalL'auteur stg
Je sais que cette question a été posée tout à l'heure mais, voici ma solution avec Primefaces 5.2
J'espère que ça peut aider quelqu'un
OriginalL'auteur Armando
J'ai l'exigence de trop sur mon site. Toutefois, j'ai une mise en œuvre différente de @stg. Par la rédaction de cet article, je suis en utilisant Primefaces 5.0. Voici le morceau de travail qui fait le travail:
XHTML site
Java site
Site remarque
DateUtils.truncateEquals()
parce que ma date de colonne contient le timestamp. Ceci est pour s'assurer que je suis de filtrage à la date donnée, indépendamment de l'horodatage. Si ma contribution est uniquement la date, puis la vue de la table était vide.<p:ajax event="change" ...>
est nécessaire de réinitialiser la vue de la table lorsque le filtre d'entrée est de supprimer. Je n'étais pas sûr de savoir si c'est la bonne façon de gérer cela, je suis en train de l'utiliser jusqu'à ce que j'ai trouver une meilleure.OriginalL'auteur huahsin68
Vous devriez être en mesure de le faire comme ceci:
Si vous ne filtrez pas layzily, alors vous avez à offrir et de mettre en œuvre un filterFunction
OriginalL'auteur Lorenz Pfisterer