IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

[TreeTableView] filtrage avec


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut [TreeTableView] filtrage avec
    Bonjour

    Je tente de faire un filtrage des lignes dans une TreeTableView
    j'ai tenté d'utiliser un code internet http://www.kware.net/?p=204#The_Predicate
    qui remplace la collection sous jascente du TreeItem (membre children) par une FilteredList<TreeItem<T>>
    seulement quand je tente de rajouter un item dans getChildren().add(tt) j'ai l'exception suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException
    	at java.util.AbstractList.add(AbstractList.java:148)
    	at java.util.AbstractList.add(AbstractList.java:108)
    	at application.Exemple.lambda$0(Exemple.java:95)
            .....
    donc je cherche la meilleurs facon de filtrer TreeTableView qui pourrait fonctionner
    si vous aviez une idée ....

    merci

    vous pouvez tester le problème que je rencontre avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    System.out.println("button TEST pressed");
    			TreeItem<Variable> root2 = new TreeItem<>();
    			// change root collection
    			String fieldName = "children";
    			Optional<Field> optChildren = ReflectionUtils.getAllFields(root2.getClass(), withName(fieldName)).stream().findFirst();
    			if (optChildren.isPresent()) {
    				try {
    					Field children = optChildren.get();
    					children.setAccessible(true);
    					// children.set(root2, FXCollections.observableArrayList()); // OK
    					children.set(root2, new FilteredList<Variable>(FXCollections.observableArrayList(), c -> true));
    					children.setAccessible(false);
    					System.out.println("changement list OK");
    				} catch (Exception ee) {
    					ee.printStackTrace();
    				}
    			}
    			// add item
    			{
    				TreeItem<Variable> tt = new TreeItem<>(new Variable("xxx ", "yyyy ", "zzzzz "));
    				root2.getChildren().add(tt);
    			}
    		});

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Le problème vient du fait que les FilteredList, de même que les SortableList d'ailleurs, sont en lecture seule et c'est sur la liste source qu'il faut faire les ajouts / retraits. En fait, si tu veux filtrer le contenu de ton arbre c'est le filtre lui-même qu'il faut modifier, pas le contenu de la liste. Donc la liste source restera la même, mais à cause du filtrage l'arbre affichera plus ou moins de nœuds enfant.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. fonction pour filtrage avec des combobox en cascade
    Par Montor dans le forum Contribuez
    Réponses: 3
    Dernier message: 09/11/2009, 12h05
  2. problème de filtrage avec quote
    Par chasseur37 dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2009, 13h35
  3. Réponses: 6
    Dernier message: 21/03/2009, 18h01
  4. Effectuer un filtrage avec plus d'options
    Par k3ops dans le forum OpenCV
    Réponses: 3
    Dernier message: 17/06/2008, 12h28
  5. utiliser filtrage avec table
    Par sandytarit dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 11/01/2007, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo