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

Windows Forms Discussion :

Sauvegarder une Treeview dans un fichier XML ?


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut Sauvegarder une Treeview dans un fichier XML ?
    Bonjour,

    j'ai une question simple en C#, je n'ai pas trouvé comment enregistrer simplement une TreeView dans un fichier XML

    j'ai vu qu'en VB on pouvait faire TreeView.SaveToFile()

    mais en C# je cherche tjs...

    merci

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    merci pour ton lien, que je vais aller voir de suite


    la j'ai un peu avancé avec ca :
    http://discuss.fogcreek.com/dotnetqu...ow&ixPost=4428

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        ArrayList nodeList = new ArrayList();
     
        FileStream fs = File.OpenWrite("tree.bin");
     
        BinaryFormatter bf = new BinaryFormatter();
        foreach (TreeNode node in (treeView1.Nodes))
        {
              nodeList.Add(node);
        }
        bf.Serialize(fs, treeView1);
        fs.Close();
    mais j'obtiens une erreur:
    Le type 'System.Windows.Forms.TreeView' dans l'assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' n'est pas marqué comme sérialisable.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    c'est juste que le treeview (comme TOUS les controles de windows.Form) n'est pas sérialisable

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    hum... ca m'apprendra a C/C du code sans reflechir, je pense que l'erreur vient du "bf.Serialize(fs, treeView1);" il faut mettre bf.Serialize(fs, nodeList );


    enfin je pense... ca marche deja un_peu_mieux...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    A mon avis il y a une erreur dans ce code...

    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bf.Serialize(fs, treeView1);
    Il faudrait mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bf.Serialize(fs, nodeList);

    EDIT: pas assez rapide

    Par contre ça sérialisera en binaire, pas en XML, et ça ne conservera pas l'arborescence...
    Et comme la classe TreeNodeCollection a le mauvais goût de ne pas être sérialisable, je pense qu'il faut se taper ça à la main

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    l'idéal dans ce genre de contexte, est d'avoir un modele MVC

    Donc, tu auras tes données et par contre, ton TreeView se remplira en fonction de données provenant d'un autre élément de ton document...

    A condition de faire du MVC, ce qui n'est pas toujours le cas surtout quand on veut "gagner" du temps

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. Enregistrer une image dans un fichier XML
    Par MiJack dans le forum Delphi
    Réponses: 12
    Dernier message: 24/05/2006, 11h24
  2. Faire une recherche dans un fichier XML
    Par Devilish_Seraph dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 21/01/2006, 14h41
  3. [C#][xml][regexp] Recherche d'une regexp dans un fichier xml
    Par LeJocker dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/10/2005, 13h29
  4. exporter une BD dans un fichier XML
    Par newsafi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/08/2005, 11h54
  5. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 16h23

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