IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

treeview et informations concernant les noeuds


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut treeview et informations concernant les noeuds
    Bonjour

    Je cherche à construire des arborescences de réseau genre réseau d'eau.

    Pour cela j'ai besoin de pouvoir
    -déplacer les nœuds dans l'arborescence->j'ai trouvé comment faire
    -glisser coller des éléments depuis des listes (liste de vannes et autres objets) sur le treeview -> pour le moment ça marchouille
    -enregistrer l'arborescence dans un fichier (csv ou xml) -> au pire j'arriverais bien à le faire nœud par nœud...
    -définir pour chaque nœuds certaines caractéristiques, qui sont différentes suivant le type d'objet ajouté dans l'arborescence et là ça coince, les noeuds d'un treeview disposent de rien pour stocker de l'info (des diamètres, des masses, des dimensions ; en fonction du type d'objet ajouté au treeview).

    Je n'ai jamais manipulé les datasource, databinding et autres or je soupçonne qu'un databinding basé sur un fichier Xml serait surement très puissant mais je n'arrive pas à conceptualiser qui ferait quoi dans mon affaire.

    Comment ça devrait marcher ? un datagridview lié à un xml (le datagridview se charge à partir du xml et se sauvegarde dedans) et le treeview est "lié" au datagridview dont il prendra les informations de certains champs pour afficher l'arborescence ?

    Merci par avance pour votre aiguillage

    PS: désolé pour le vague de la question mais l'objet de ma question est notamment d'utiliser le bon vocabulaire pour enfin réussir à comprendre

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233

  3. #3
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    merci pour le lien mais j'ai trouvé plusieurs pistes pour sauvegarder mon treeview
    avec le XMl ou même via la sérialisation binaire
    c'est pour ça que j'ai noté ça

    [France]-enregistrer l'arborescence dans un fichier (csv ou xml) -> au pire j'arriverais bien à le faire nœud par nœud...
    Mon soucis est surtout que je dois définir pour chacun des nœuds des propriétés que l'objet TreeNode n'offre pas et du coup je ne vois pas comment faire.

    J'en suis à un stade où je crois comprendre que le Treeview ne peut pas être une collection d'objets de différents type que je peux ajouter, retirer, sauvegarder ou recharger. J'ai l'impression que je suis obligé de créer une collection de mes objets hiérarchisés; une bdd (je teste SQLlite là), un List ou autre
    et que le treeview doit être ensuite construit en reprenant quelques éléments de la collection (nom et hiérarchie) grâce à un algo récursif.
    Si ensuite je veux pouvoir modifier la collection via le Treeview il me faudrait gérer les ItemDrag, double clic et autre modif du texte du nœud pour aller mettre à jour la collection (bdd ou List) en conséquence.
    Bref, une interaction entre données et Treeview tout à la main

    Si vous me confirmez que c'est effectivement comme ça qu'il faut faire, ça complique vachement ce que j'avais en tête mais au moins je ne me prendrais plus la tête à chercher ce qui n'est pas

    Merci

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Par défaut
    Citation Envoyé par petitours Voir le message
    Mon soucis est surtout que je dois définir pour chacun des nœuds des propriétés que l'objet TreeNode n'offre pas et du coup je ne vois pas comment faire.

    J'en suis à un stade où je crois comprendre que le Treeview ne peut pas être une collection d'objets de différents type que je peux ajouter, retirer, sauvegarder ou recharger.
    La propriété Tag d'un Contrôle
    Dans cette propriété tu peux mettre n'importe quel objet qui dérive de la classe Object

  5. #5
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Bonjour
    Donc pas besoin de gérer ma collection par ailleurs ?

    Je construis l'arborescence dans le treeview, je réorganise les éléments, j'en ajoute d'autres, je les modifie (via des double clic dessus par exemple) et hop tout est dans le treeview, il ne me reste plus qu'à enregistrer l'objet treeview dans un xml ou binaire pour avoir une sauvegarde de l'ensemble des objets hiérarchisés ?

    énorme !

    Merci

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Par défaut
    Citation Envoyé par petitours Voir le message
    pour avoir une sauvegarde de l'ensemble des objets hiérarchisés ?
    Attention, le Tag est souvent utilisé (pour ma part) pour garder les données persistantes liées au noeud du TreeView.
    Dans un de mes projets, on utilisait les tags pour gérer les enabled/couleurs/etc (aspect visuel) qui était utilisé par une méthode qui récupérait le contenu de la propriété pour l'étudier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/10/2010, 10h19
  2. Réponses: 2
    Dernier message: 08/04/2010, 08h54
  3. Information concernant les DNS
    Par agencep dans le forum 1&1
    Réponses: 2
    Dernier message: 11/03/2010, 15h10
  4. information concernant les menus déroulants
    Par jbggg dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 24/05/2008, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo