Apparemment, si le tri ILazyTree(TreePath)ContentProvider
et le filtrage ne sont pas supportés par TreeViewers
. Donc, régler ViewerFilters
ou Sorters/Comparators
sur votre TreeView ne fera rien. Peut-être est-ce lié au fait de ne pas connaître tous les éléments, y compris ceux qui ne sont pas visibles pour le moment.Existe-t-il un meilleur moyen d'utiliser le tri et le filtrage avec ILazyTreeContentProvider?
À l'appui de cette déclaration est extrait javadoc ici de org.eclipse.jface.viewers.TreeViewer
classe:
Si le fournisseur de contenu est un
ILazyTreeContentProvider
ou unILazyTreePathContentProvider
, l'arbre sous-jacent doit être créé en utilisant la {@link SWT # VIRTUAL} style, l'arborescence ne prendra pas en charge le tri ou le filtrage, et la recherche de hachage doit être activée en appelant {@link #setUseHashlookup (boolean)}.
La seule solution que je vois actuellement est d'obtenir les enfants pour chaque noeud déjà commandé. Si vous avez besoin d'un tri dynamique, c'est-à-dire que vous pouvez changer l'ordre de tri en ordre décroissant ou asc pendant l'exécution, vous devez créer votre propre solution, en surveillant par exemple un drapeau booléen lors du remplissage et de la mise à jour des enfants.
Etes-vous au courant de meilleures solutions, peut-être plus API jface impliquant?
Je vois, donc venant directement de La Source - "Vous devrez faire le tri vous-même (dans votre modèle)". Merci d'avoir signalé VonC! Retour à l'implémentation de la fonctionnalité de tri propre ... – Svilen