Bonjour à tous
Je suis en train de réaliser un petit projet pour mon boulot

Je travail avec eplan P8 qui à une interface type API ou je peux créer des addins en vb.net ou en c#

Je suis actuellement avec visual studio 2010 au boulot et à la maison 2013.

Mon projet, consiste à se que l’utilisateur créer des donnée dans une datagridview, ou il pourra exporter ces données en fichier xml « créer un template » et importer le xml ou
importer directement ces données ‘datagridview’ dans le projet eplan p8 cette dernière étape est pour l’instant pas primordial

Remarque : le fichier Template d’import ou export ne doit pas être exclusivement du xml
S’il y a une autre méthode plus facile en .ini ou .txt ou dite le moi


Etape 1 : Créer des lignes de donnée dans un datagridview avec deux colonnes déclaré par défaut » introduire les données avec un bouton et 2 textbox qui permettent de mettre
les données dans la datagridview

J’ai réussi cette étape

Etape 2 : Supprimer les lignes dans une datagridview

J’ai réussi cette étape

Etape 3 : Exporter et importer les données créées dans la « datagridview » par l’utilisateur en fichier xml

C’est ici que ça coince j’ai trouvé sur le web une méthode pour pouvoir exporter et importer en xml

Voir code ci-dessous ou ici http://www.v-basic.net/2011/04/xml-i...nd-export.html

Mais cette méthode ne me convient pas parce que ça implique que ma datagridview est vide, donc aucune colonne ne soie déclaré, cette méthode utilise les colonnes et les données qui se trouve dans un fichier xml = le fichier lui-même est une base de donnée.

Est-ce qu’il est possible d’exporter des données d’une datagridview créé par l’utilisateur ?
Est-ce que vous avez une autre méthode ?

Merci d’avance pour vos réponses et votre aide

Cordialement rodeo

Voici une image + code

Nom : Form1.png
Affichages : 588
Taille : 49,6 Ko

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Imports System.Xml
Imports System.Data
Imports System.IO
 
Public Class Form1
 
#Region "import"
    Private Sub Button1_Import(sender As Object, e As EventArgs) Handles Button_Import.Click
        'create a openfile dialog
        Dim open_file As New OpenFileDialog
        'give its filter
        open_file.Filter = "Files (*.xml) | *.xml"
        Try
            'if ok click at opendialog
            If open_file.ShowDialog() = DialogResult.OK Then
                'define a xml reader
                Dim xmlFile As XmlReader
                'get xml data from the path
                xmlFile = XmlReader.Create(open_file.FileName, New XmlReaderSettings())
                'define a new dataset
                Dim ds As New DataSet
                'read xml data
                ds.ReadXml(xmlFile)
                'show xml data in datagridview
                DataGridView1.DataSource = ds.Tables(0)
            End If
        Catch ex As Exception
            'if any problem show error
            MsgBox(ex.Message)
        End Try
 
    End Sub
#End Region
#Region "export"
    Private Sub Button2_Export(sender As Object, e As EventArgs) Handles Button_Export.Click
        'define a save dialog
        Dim save_file As New SaveFileDialog
        'give its extension
        save_file.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*"
        'select xml
        save_file.FilterIndex = 1
        'create a datatable
        Dim my_datatable As New DataTable
        'if ok click
        If save_file.ShowDialog() = DialogResult.OK Then
            'get datagridview source to datatable
            my_datatable = CType(DataGridView1.DataSource, DataTable)
            'save datatable with xml format
            my_datatable.WriteXml(save_file.FileName)
        End If
    End Sub
#End Region
 
#Region "insert and delete"
    Private Sub Button3_Insert(sender As Object, e As EventArgs) Handles Button_Insert.Click
        Me.DataGridView1.Rows.Add(TextBox1.Text, TextBox2.Text)
        DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGreen
    End Sub
 
    Private Sub Button_delete_Click(sender As Object, e As EventArgs) Handles Button_delete.Click
        If DataGridView1.SelectedRows.Count > 0 Then
            For i As Integer = DataGridView1.SelectedRows.Count - 1 To 0 Step -1
                DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(i).Index)
            Next
        Else
            MessageBox.Show("Rows no selected")
        End If
    End Sub
#End Region
 
End Class