Je joue avec le contrôle TreeView de Microsoft et j'essaye de forcer une mise à jour des données en modifiant l'étiquette d'un nœud, similaire à UpdateData pour une grille. Fondamentalement, dans mon éditeur, j'ai un bouton Enregistrer et ce contrôle TreeView: ce que je veux, c'est quand je suis en train d'éditer l'étiquette d'un nœud dans TreeView, si je clique sur le bouton Enregistrer, je veux pouvoir valider le l'étiquette du noeud que je éditais.Chaud de valider les modifications pour un TreeView lors de l'édition d'un nœud (C#)?
Répondre
La modification d'étiquette de noeud est effectuée avec une zone de texte et lorsque cette zone de texte perd le focus, le changement de nom est validé en tant que nouvelle étiquette pour le noeud. Donc, si le bouton 'Sauvegarder' que vous cliquez sur prend le focus, alors la mise à jour sera automatique car la zone de texte perdra le focus. Si le bouton "Enregistrer" ne prend pas le focus, vous devez gérer un événement de clic pour le bouton "Enregistrer" et demander à l'arborescence de mettre fin à toute modification d'étiquette en cours. Si vous ne disposez pas d'une méthode/propriété que vous pouvez appeler pour demander la fin de l'édition de l'étiquette, vous avez deux choix. Si l'arborescence a le focus, placez le focus ailleurs. Sinon, éteindre tour/sur l'étiquette à nouveau l'édition ...
treeView.LabelEdit = false;
treeView.LabelEdit = true;
Je vais accepter la réponse même si elle est pas vraiment documenté: at-il ou elle n'a pas une telle méthode? En fait, vous n'avez pas répondu à cette question, je viens de me la renvoyer.
Pendant ce temps, j'ai trouvé la même solution hack-ish avec d'autres contrôles (pas très élégants mais fonctionnels), même si c'est un peu plus difficile pour moi car j'utilise un TreeView dans un UserControl.
Avez-vous vraiment besoin d'un bouton de sauvegarde?
vous pouvez écouter la fin de l'édition du nœud - par exemple en écoutant la touche "return" dans l'événement KeyDown de TreeView. Si vous éditez quelque chose (découvrez avec SelectedNode.IsEditing) alors vous savez que vous avez un commit. Vous pouvez ensuite valider ceci dans vos données dataupdate. Si vous souhaitez pouvoir éditer plusieurs nœuds différents et les sauvegarder tous à la fin, vous devez ajouter chaque nœud édité à une collection quelconque, puis lorsque vous cliquez sur votre bouton de sauvegarde, vous parcourez cette collection.
- 1. Comment valider les modifications dans SQLite?
- 2. ASP.NET Curseur de nœud Telerik TreeView
- 3. ASP.NET Treeview - Ajouter un nœud via Javascript
- 4. Modification de la valeur d'un nœud dans un TreeView asynchrone
- 5. git: Changer de branche et ignorer les modifications sans valider
- 6. ASP.NET TreeView et sélection du nœud sélectionné
- 7. Silverlight TreeView - Charger les données lorsque le nœud est développé
- 8. Comment ajouter un nœud dans TreeView Control avec Javascript
- 9. Winforms C#, double clic distinct de l'expansion du nœud de l'arbre dans TreeView
- 10. valider et ajuster une étiquette treeview
- 11. Manière pratique de valider les modifications du contrôle de source sur plusieurs branches
- 12. Modifications de version pour les procédures stockées
- 13. Pourquoi subversion timeout lorsque j'essaie de valider des modifications dans un répertoire?
- 14. Quelle est la meilleure façon de stocker des données sur un nœud TreeView?
- 15. Système de fichiers TreeView
- 16. Puis-je envelopper le texte de nœud dans un WinForms TreeView
- 17. Utilisation de ItemTemplate pour un TreeView lors de l'ajout d'éléments dans le code
- 18. TreeView bug dans windowsforms lors de l'utilisation OwnerDrawAll
- 19. Moniteur Répertoire pour les modifications
- 20. Meilleure stratégie de réplication de serveur de sauvegarde chaud/chaud (SQL Server 2005)
- 21. fausses modifications de "propriété" lors de la restauration des modifications de tortoise svn
- 22. chaînée nœud en C +
- 23. ASP.Net TreeView Défilement du nœud sélectionné dans la vue
- 24. C# Xpath requête pour trouver un seul nœud
- 25. Empêcher DataGridView de valider automatiquement les modifications sur l'objet lié aux données
- 26. Contrôle TreeView en C#, select() et focus
- 27. modèle propre pour les noeuds de feuilles dans un WPF TreeView avec des niveaux inconnus
- 28. Utilisation de mq de mercurial pour gérer les modifications locales
- 29. Tortoise CVS - Empêcher un utilisateur de valider des modifications dans une branche?
- 30. XML interrogeant un nœud particulier à partir de C#