J'ai beaucoup de données (hiérarchiques) que je montre dans un TreeView (cela pourrait être d'environ 20K éléments ou plus, y compris les éléments enfants). Le problème particulier de mes données est que chaque objet affiché dans l'arborescence peut exister dans de nombreux éléments treeview. Ce que je veux dire par là que je pourrais avoir une hiérarchie comme celui-ci:Données hiérarchiques dans la technique de mise à jour TreeViews et TreeView
Item_A -> Item_B -> ItemC
Item_B -> Item_C
ItemC
laisse supposer que Item_A
contient Item_B
qui contient Item_C
tel qu'il apparaît au dessus. Cela signifie que ma liste montrera également la hiérarchie de Item_B
et Item_C
. Considérons maintenant que quelque chose arrive à un objet représenté Item_B
(par exemple changement de nom). Ensuite, bien sûr, les deux éléments doivent être mis à jour. Considérez maintenant des milliers d'éléments dans l'arborescence avec des hiérarchies complexes. Quelle stratégie utiliseriez-vous pour mettre à jour l'arborescence? La vitesse est bien sûr la principale préoccupation ici, mais aussi la facilité d'utilisation et de maintenance. Actuellement, je place des mappages internes d'éléments de liste sur des objets et vice-versa pour trouver et mettre à jour des éléments rapidement. Est-ce une bonne stratégie? En recréant la liste après chaque mise à jour, je peux éliminer beaucoup de code, mais je ne saurais pas quels chemins d'éléments ont été développés ou réduits. Comment pourrais-je résoudre ce problème? Devrais-je stocker des chemins étendus dans un conteneur interne?
Merci. PS: le langage de programmation est C++, et la bibliothèque d'interface graphique est QT3.