Comment ajouter de la grille de filtres dans Vaadin 8?
Vaadin 8 vient de sortir. l'ajout de filtres dans la Grille n'a jamais été dans leur documentation, je n'en ai trouvé une solution de travail ici dans stackoverflow.
HeaderCell cell = filterRow.getCell(pid);
//Have an input field to use for filter
TextField filterField = new TextField();
filterField.setColumns(0);
filterField.setHeight("23");
//Update filter When the filter input is changed
filterField.addTextChangeListener(change -> {
//Can't modify filters so need to replace
b.removeContainerFilters(pid);
//(Re)create the filter if necessary
if (! change.getText().isEmpty())
b.addContainerFilter(
new SimpleStringFilter(pid,
change.getText(), true, false));
});
cell.setComponent(filterField);
Mais maintenant, depuis la mise à jour, cette Solution ne fonctionne plus depuis SimpleStringFilter n'est plus disponible dans la nouvelle grille, et BeanItemContainer ne sont pas reconnus plus et ne permet setItems() pour remplir la grille de données.
Quelqu'un peut-il m'aider à mettre à jour ce code pour Vaadin 8?
La solution de @Patryk Krawczyk est de travailler pour un filtre de colonne mais quand j'ai deux colonnes, comme FirstName et LastName ça ne fonctionne pas. Quelqu'un a une solution pour cela?
OriginalL'auteur gigz | 2017-02-26
Vous devez vous connecter pour publier un commentaire.
Il est possible d'ajouter des fonctions de filtrage pour Vaadin 8 la Grille.
Imaginons que nous avons défini Personne modèle:
Notre Grille mise en œuvre devrait ressembler à ceci:
Maintenant, nous pouvons créer une mise en page avec un TextField qui sera notre filtre:
Le résultat est illustré ci-dessous:
Pour entrée vide le résultat est: foo, bar et foobar.
Pour foo résultat est: foo et foobar.
Pour bar résultat est: bar et foobar.
Pour foobar résultat est: foobar.
mais il ne fonctionne que pour un champ. Si vous ajoutez un filtre identique sur l'autre colonne, il ne fonctionne pas
OriginalL'auteur Patryk Krawczyk
Il y a Vaadin grille addon qui va être porté à Vaadin 8 plus tard, donc si vous avez le temps d'attendre, vous pouvez obtenir ligne de filtre dans un joli paquet.
https://vaadin.com/directory#!addon/gridutil
Veuillez lire ici l'estimation de l'effort de l'auteur de GridUtil.
https://github.com/melistik/vaadin-grid-util/issues/37#issuecomment-282756130
OriginalL'auteur Jukka Nikki