Primefaces filtre personnalisé dans la datatable
Est-il possible de créer un filtre personnalisé pour un datatable?
Je veux filtrer les données relatives à la propriété status_flag. Cette status_flag peuvent avoir les valeurs suivantes: disponible, activez, les handicapés.
J'ai besoin d'une méthode de filtrage qui me montre le total de la liste ou la totalité de la liste sans les personnes handicapées.
Non, je veux à présent dans la vue donc je n'ai pas de recharger les données. Il est étrange que vous ne pouvez pas définir une coutume filterMatchMode pour un <p:colum> dans un datatable, mais pour <p:liste de choix> (d'après la documentation).
OriginalL'auteur fsch | 2014-02-28
Vous devez vous connecter pour publier un commentaire.
Pour Primefaces 5, il y a un nouvel attribut filterFunction qui permet de définir un filtre dans du code Java: http://blog.primefaces.org/?p=3084
Cependant, le filtre d'entrée est toujours une chaîne de caractères en entrée de texte.
Si vous avez besoin d'un composant personnalisé à l'entrée des valeurs de filtre, ou vous êtes coincé avec Primefaces 4 (comme je suis sur un projet récent), je vais décrire ce qui a fonctionné pour moi.
J'ai étendu le comportement de filtrage à l'aide de ces étapes clés
filterBy
attributPF('dataTableWidgetVar').filter()
Clé, c'est de prendre avantage de filteredValue de l'attribut lors de Primefaces filtre() la fonction est appelée ou lorsque primefaces filtres à changer, filteredValue est mis à la liste des valeurs filtrées (ou null si aucun filtre n'est appliqué). Ensuite, Primefaces lit filteredValues de retour de getter pour mettre à jour la liste des articles dans la dataTable. Si nous avons mis notre filtre entre ces appels (soit dans les getter et setter, setter est plus efficace, car elle n'est appelée que lorsque les filtres de changement), nous modifions original liste filtrée avec notre filtre et le retour en arrière à travers la lecture.
Code:
Définition de la datatable avec inputText en tant que composant de filtre:
Java Setter et Getter de filteredResults en vue de vue nommée:
Le reste est du code Javascript pour appliquer le filtre sur dataTable) lorsque la valeur de composant de filtre est changé.
OriginalL'auteur OndroMih
Bien sûr, vous pouvez,
Je vais vous donner un exemple ci-dessous:
Le code Java:
À l'aide de SelectItem.
Vous trouverez un exemple ici http://www.primefaces.org/showcase/ui/datatableFiltering.jsf
Espère que ça va aider...
Merci mais ce n'est pas vraiment ce dont j'ai besoin. J'aurais besoin d'une option pour basculer entre [Disponible,Activé,Désactivé] et [Activé]
Cette solution fonctionne pour moi, merci beaucoup
OriginalL'auteur David H.