J'ai une vue arborescente dans mon code C#. Je souhaite remplacer toutes les occurrences existantes d'un nœud d'arbre par un texte différent dans l'ensemble de ma vue arborescente lors d'un clic sur un bouton. Par exemple, j'ai 3 occurrences d'un noeud avec 'Text' comme "Manual". Je veux remplacer tous ces 3 nœuds par le texte "Automatique". Le problème est que ces 3 nœuds sont sous 3 branches différentes dans l'arborescence. Ils ne partagent pas le même nœud parent. J'ai l'intention d'écrire pour rendre ce processus automatique en écrivant une boucle for mais je ne comprends pas comment trouver les 3 nœuds requis en premier lieu.Trouver et remplacer un nœud d'arbre en C#
0
A
Répondre
3
Je suggère d'utiliser la récursivité.
Bien sûr, ceci est un exemple et vous devez supprimer la déclaration myTree et utiliser votre arborescence, mais cela devrait vous aider à démarrer.
private void replaceInTreeView()
{
TreeView myTree = new TreeView();
ReplaceTextInAllNodes(myTree.Nodes, "REPLACEME", "WITHME");
}
private void ReplaceTextInAllNodes(TreeNodeCollection treeNodes, string textToReplace, string newText)
{
foreach(TreeNode aNode in treeNodes)
{
aNode.Text = aNode.Text.Replace(textToReplace, newText);
if(aNode.ChildNodes.Count > 0)
ReplaceTextInAllNodes(aNode.ChildNodes, textToReplace, newText);
}
}
}
Questions connexes
- 1. Comment trouver un nœud XML spécifique?
- 2. chaînée nœud en C +
- 3. C# Xpath requête pour trouver un seul nœud
- 4. Chaîne Remplacer en C++
- 5. Ajouter un document XML à un nœud XML en C#?
- 6. Trouver la position d'un nœud en utilisant xpath
- 7. sélecteurs jquery - trouver un enfant du nœud racine
- 8. Trouver un nœud de texte en xml en utilisant le problème xpath
- 9. Comment trouver deux chiffres récurrents adjacents et les remplacer par un seul chiffre en Java?
- 10. Comment trouver et remplacer par programme dans ENTIER Word document
- 11. Comment faire une expression régulière pour Dreamwaver trouver et remplacer?
- 12. C# regex pour trouver et remplacer la réutilisation d'une partie du texte correspondant
- 13. Ebay Trouver l'API et C#
- 14. C# Regex Remplacer mais remplacer uniquement un sous-groupe numéroté
- 15. Comment puis-je remplacer un mot spécifique en C#?
- 16. signe + en face d'un nœud d'arbre
- 17. Comment puis-je rechercher et remplacer en XML avec Python?
- 18. Comment remplacer sqlDMO avec SQLSMO en C++
- 19. C# trouver l'image en html et télécharger les
- 20. Où trouver un examen rapide de Java et/ou C++?
- 21. Suppression et ajout d'un nœud
- 22. Puis-je ajouter un XmlDocument dans un nœud d'un autre XmlDocument en C#?
- 23. Trouver l'index de caractère d'un nœud dans son nœud parent avec hpricot
- 24. C#: Dessin du propriétaire TreeView avec ownerdrawtext et la mise en surbrillance noire en cliquant sur un nœud
- 25. Comment trouver (et remplacer) tous les anciens types de données de type C dans mon code source C++?
- 26. Remplacer "trouver" dans ActiveRecord la manière DRY
- 27. Convertir un nœud DOM ou Document en XML en JavaScript
- 28. Notepad ++ expression régulière trouver et remplacer $ _REQUEST avec $ _GET mais un plus sûr
- 29. Trouver un contenu en double en utilisant MySQL et PHP
- 30. Création d'un nœud parent pour le document XML en C#
Il donne une erreur pour aNode.ChildNodes.Count: 'System.Windows.Forms.TreeNode' ne contient pas une définition pour '' ChildNodes Quelle version de C# utilisez-vous? – zack
J'utilise FrameWork 3.5 et je crois que sur Framework 1.1, vous pouvez utiliser les nœuds Voir la documentation http://msdn.microsoft.com/fr-fr/library/system.windows.forms.treenode_members(VS.71).aspx –