Accueil > Forum > > > > Treeview et cocher noeud parent
Treeview et cocher noeud parent
lundi 6 novembre 2006 à 11:18:23 |
Treeview et cocher noeud parent

cispo
|
Bonjour, J'utilise un le controle TreeView. Je me suis abonné à l'évènement AfterCheck. Mon but est de pouvoir cocher le noeud parent si tous les noeufs fils sont cochés. J'ai écris le code suivant : if (node.Checked) // node est un des noeufs fils{ bool check;foreach (TreeNode f_nodes in node.Parent.Nodes) //On récupere le noeud parent et on parcourt tous les noeufs fils{ if (f_nodes.Tag != node.Tag) // différents de celui concerné{ if (f_nodes.Checked)check = true;else{check = false;break}} } if (check)node.Parent.Checked = true;} Malheuresement cela ne fonctionne pas et l'application quitte sans lever d'erreur... Quelqu'un a une idée sur la question ? Merci d'avance !
|
|
lundi 6 novembre 2006 à 11:31:46 |
Re : Treeview et cocher noeud parent

fregolo52
|
salut,
peux-tu détailler ? dit-nous ce qu'il se passe. A priori, ton code ne devrait pas générer d'erreur, sauf dans le cas où ton noeud courant est le seul fils, donc initialise ton bool, par sécurité. Tu as toujours le meme résultat, quelque soit les noeuds cochés ?
|
|
lundi 6 novembre 2006 à 13:15:18 |
Re : Treeview et cocher noeud parent

cispo
|
Après avoir initialisé le booleen check à false, j'obtiens le message d'erreur suivant : Failed to load resources from resource file. Please check your setup
|
|
lundi 6 novembre 2006 à 13:20:48 |
Re : Treeview et cocher noeud parent

LUDINSKI
|
Réponse acceptée !
Salut
Je peux te proposer le code suivant :
// Méthode appelée lorsque l'état d'une case à cocher de la TreeView est modifié private void treeView_AfterCheck( object sender, TreeViewEventArgs e ) { // Se désabonne à l'évènement treeView.AfterCheck -= new TreeViewEventHandler( treeView_AfterCheck );
// Met les noeud fils puis les noeuds parents à jour (récursivement) UpdateChildNodes( e.Node ); UpdateParentNodes( e.Node );
// Se résabonne à l'évènement treeView.AfterCheck += new TreeViewEventHandler( treeView_AfterCheck ); }
// Met à jour les noeuds fils d'un noeud private void UpdateChildNodes( TreeNode parentNode ) { // Parcourt les noeuds fils foreach( TreeNode childNode in parentNode.Nodes ) { // L'état de la case à cocher du fils est différent de celui du père if( childNode.Checked != parentNode.Checked ) { // Met à jour les noeuds fils du noeud en cours childNode.Checked = parentNode.Checked; UpdateChildNodes( childNode ); } } }
// Met à jour les noeuds parents d'un noeud private void UpdateParentNodes( TreeNode childNode ) { // Le noeud possède un noeud parent if( childNode.Parent != null ) { // Récupère une valeur indiquant si tout les noeuds du même niveau sont cochés bool allAreChecked = true; foreach( TreeNode node in childNode.Parent.Nodes ) { if( ! node.Checked ) { allAreChecked = false; break; } }
// L'état de la case à cocher du noeud parent ne correspond pas à l'état de ses fils if( childNode.Parent.Checked != allAreChecked ) { // Met à jour le noeud parent childNode.Parent.Checked = allAreChecked; UpdateParentNodes( childNode.Parent ); } } }
Satisfait ou remboursé ;)
|
|
lundi 6 novembre 2006 à 15:31:32 |
Re : Treeview et cocher noeud parent

fregolo52
|
ah ah, toi aussi tu as eu ce super message : Failed to load resources from resource file. Please check your setup
Ce message est un peu l'équivalent de segmentation fault, du truc du style, sous Linux. En gros, ça plante mais on ne sait pas pourquoi. C'est quand même bizarre qu'une erreur se produise quand tu initialises une variable !!!!
|
|
lundi 6 novembre 2006 à 19:19:55 |
Re : Treeview et cocher noeud parent

cispo
|
Merci LUDINSKI, le code fonctionne parfaitement.
Je n'ai pas cherché, mais je suppose que l'erreur que j'obtiens vient de l'abonnement/désabonnement à l'évènement...
|
|
jeudi 9 novembre 2006 à 15:39:24 |
Re : Treeview et cocher noeud parent

LUDINSKI
|
Ben en fait... A chaque fois que tu modifiais la propriété Checked , l'évènement AfterCheck était déclenché. Donc ton programme tournait en boucle et allouait chaque fois un peu plus de mémoire...
A un moment, il n'y avait plus assez de mémoire pour pouvoir initialiser une nouvelle variable et puis paf !
Voilà ;)
|
|
Cette discussion est classée dans : check, node, parent, nodes, noeud
Répondre à ce message
Sujets en rapport avec ce message
modifier noeud fichier xml [ par jesusonline ]
Voila je suis coincé et j'ai pas le temps de faire de rechercher :( alors je fais appel à vou en esperant avoir une reponse :) Voici le problème j'ai
probléme sélection node dans un treeview en C# [ par rifi ]
J'ai créé un TreeView avec différents nodes, monprobléme et que je souhaite sélectionner un des Nodes lorsque je clique sur un bouton. mais je n'ai t
ajout de controlweb dans nodes d'un treeview [ par akira3 ]
bonjour,je souhaiterai ajouter dans chacun de mes treenode des controles web(textbox,dropdownlist)j'ai entendu parler d'une propriete editlabel mais e
Treeview [ par romagny13 ]
Bonjour Quelquun saurait il comment parser chaque node dune treeview jusqu'au node selectionné(et ne parser que les nodes appartenant au chemin Fullpa
Probleme TreeView [ par Tracid83 ]
Bonjour,voila j'ai un petit problème avec la gestion de ma Treeview. J'ai rajoutés des images devant les différents ligne de ma Treeview mais lorsque
[C#]treeview node image [ par medgha ]
bonjour tout le monde,je dévelope en C# sous visual studio 2005 , j'utilise dans mon application un treeview que je charge à partir d'une base de donn
[C#]TreeView ne pas associer à tt les nodes une image [ par medgha ]
bonjour tt le monde,peut etre que ma question vous paraitra bête, mais j'ai cherché dans le forum et j'ai pas trouvé la reponse,mon problème est le su
Problème pour accéder à une méthode de base à partir d'une classe dérivée [ par Stephanie79 ]
Bonjour,Je suis débutante en POO et surtout en C#, donc j'espère que je vais bien m'expliquer. Voici un bout de code (je n'ai pas mis les vrais noms d
Parcours récursif d'un TreeNode [ par scoubidou944 ]
Je pense que cela peut aider du monde.Objectif : Obtenir le chemin complet de l'arborescence d'un TreeNode.Exemple :Ligne1_0 Ligne2_0 Ligne3
[C#] progressBar et chargement de form en même temps [ par medgha ]
bonjour tout le monde,j'ai fait qlq recherches avant de poster, je développe une application en C# sous visual studio 2005et j'utilise un treview que
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|