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

VB.NET Discussion :

Save datagridview to xml


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Save datagridview to xml
    Bonjour,

    J'aimerais bien sauvegarder un datagridview dans un fichier xml. Je n'ai pas de problème pour l'importer depuis un fichier xml vers le datagridview, mais lorsque je fais l'inverse, ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub loadGrid()
            Dim ds As DataSet = New DataSet
            ds.ReadXml("C:\x\tsst.xml")
            Dim dv As DataView = New DataView(ds.Tables(0))
            mainGrid.DataSource = dv
    End Sub
    Pourquoi ce n'est pas possible de remplacer tous les Read par Write ?!

    Le but est de reproduire cette petite application (sauf que je ne parviens pas à ouvrir l'intégralité de son code source )


    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de Gurdil le nain
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 468
    Points : 1 111
    Points
    1 111
    Par défaut
    Bonjour,

    Je ne comprends pas ton problème...la méthode WriteXml existe sur l'objet Dataset...

    Voir MSDN

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut WriteXml
    Hello,

    J'ai essayé de faire un WriteXml, mais je ne suis pas sûr d'avoir fait juste, en tout cas, dans mon fichier xml, il n'y a qu'un <NewDataSet />

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Button1_Click()
            Dim ds As DataSet = New DataSet
            ds.WriteXml("C:\users\film.xml")
            Dim dv As DataView = New DataView(ds.Tables(0))
            DataGridView1.DataSource = dv
    End Sub
    Et lorsque je clique sur le Button1, L'erreur suivante apparaît sur le New DataView :

    L'exception IndexOutOfRangeException n'a pas été gérée !
    Impossible de trouver la table 1.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut SOLUTION
    C'est tout bon,

    À force de chercher sur google comment sauver un datagridview dans un fichier xml, j'ai trouvé un super site qui explique tout en détail

    http://www.v-basic.net/2011/04/xml-i...nd-export.html

    Merci quand même !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mai 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Salut,

    Si je peux me permettre une modif sur ton bout de code. L'instruction pour "enregistrer sous" est pour un fichier texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim savefile As New SaveFileDialog
                    savefile.FileName = ""
                    savefile.Filter = "Fichier Text (*.txt)|*.txt"
                    savefile.ShowDialog()
    Donc pour ton fichier xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim savefile As New SaveFileDialog
                    savefile.FileName = ""
                    savefile.Filter = "Fichier Text (*.xml)|*.xml"
                    savefile.ShowDialog()
    Lorsque tu changes de dossier ou ton dossier est supprimer ça ne marche plus par contre ça ça marche pour tout les cas.

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Ok, merci, j'y penserai.

    Mais en fait, j'ai toujours un petit problème, avec la solution que j'ai trouvé, je suis obligé d'ouvrir un fichier Xml avant de l'enregistrer. Je ne peux pas l'enregistrer directement...

    En résumé, dans cet example,

    http://www.v-basic.net/2011/04/xml-i...nd-export.html

    tu ne peux pas cliquer directement sur Save XML File.

    Est-ce que quelqu'un a une idée ?

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    665
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 665
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour,
    en appliquant la source de ton premier message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        Private filePath As String = My.Application.Info.DirectoryPath & "\user.xml" 'xml filepath
     
        Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
            Dim dt As New DataTable
     
            Me.DgvMstUser.EndEdit()
            dt = Me.DgvMstUser.DataSource
     
            Try
                dt.WriteXml(filePath)
                MsgBox("Data has been saved.")
            Catch ex As Exception
                MsgBox("Data cannot be saved.")
            End Try
        End Sub

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

Discussions similaires

  1. [Débutant] Modification DatagridView et XML
    Par Mdevaux76 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/03/2015, 08h26
  2. datagridview et xml
    Par JosselynColombet dans le forum C#
    Réponses: 0
    Dernier message: 06/02/2013, 15h32
  3. [Débutant] Remplir DataGridView avec XMl et garder la structure du DGV
    Par patrickvier dans le forum VB.NET
    Réponses: 0
    Dernier message: 25/10/2012, 11h40
  4. Afficher dans une datagridview un XML générer par Excel
    Par Arsou dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/09/2009, 10h26
  5. FileReference.save sur objet XML : en-tête manquant
    Par chrilie dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 17/04/2009, 21h13

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